<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://udooz.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fudooz.spaces.live.com%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>udooz!</title><description>Always Computing</description><link>http://udooz.spaces.live.com/</link><language>en-US</language><pubDate>Tue, 01 Jul 2008 06:32:05 GMT</pubDate><lastBuildDate>Tue, 01 Jul 2008 06:32:05 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:identity><live:id>2209134500607243448</live:id><live:alias>udooz</live:alias></live:identity><image><title>udooz!</title><url>http://byfiles.storage.live.com/y1pZ1NMwelVZZ36cWh3Rvh8j1IrGrUJmDvN22s01f-bhNAUBi2Sd9d6MvC1Hcc7n6ZM</url><link>http://udooz.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Humax v0.2</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!223.entry</link><description>&lt;div&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;You may aware that I have released version 0.2 of Humax.&lt;span style=""&gt;  &lt;/span&gt;In this version, I have implemented the AOP programming support.&lt;span style=""&gt;  &lt;/span&gt;As of my actual plan, I have planned to implement the following things also:&lt;/font&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in"&gt;&lt;font color="#000000"&gt;&lt;font face="Segoe UI"&gt;&lt;font size=2&gt;&lt;span style="font-family:Symbol"&gt;&lt;span style=""&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Asynchronous Programming&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in"&gt;&lt;font color="#000000"&gt;&lt;font face="Segoe UI"&gt;&lt;font size=2&gt;&lt;span style="font-family:Symbol"&gt;&lt;span style=""&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Packaging script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;Though I have implemented the AOP concept two months before, I had no time to write the tutorials, due to my sister marriage.&lt;span style=""&gt;  &lt;/span&gt;It took two weeks to complete the tutorial section for Humax v0.2.&lt;span style=""&gt;  &lt;/span&gt;I had planned to provide lot of pictorial representation in the tutorial section, but the time did not allow me further.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;The version 0.2, by the grace of God, has received massive response.&lt;span style=""&gt;  &lt;/span&gt;I would like to do benchmarking a web application which uses Humax AOP against normal class-hierarchy model.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;I invite people to give their positive and negative feedbacks on Humax.&lt;span style=""&gt;  &lt;/span&gt;The main objective of Humax is yet to achieve, to make Humax as an enterprise web framework in very near feature.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;I invite people to create new design patterns and best practices based on Humax.&lt;span style=""&gt;  &lt;/span&gt;With your support, I will try to provide best on Humax.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face="Segoe UI" color="#000000" size=2&gt;Happy Web.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Humax+v0.2&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!223.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!223.entry</guid><pubDate>Wed, 26 Dec 2007 01:59:59 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!223/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!223.entry#comment</wfw:comment><dcterms:modified>2007-12-26T01:59:59Z</dcterms:modified></item><item><title>Humax and JavaScript</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!212.entry</link><description>&lt;div&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;I’ve started to think on writing a new framework for client side web development after writing series of articles on JavaScript in Web 2.0.&lt;span style=""&gt;  &lt;/span&gt;The intention is to break barrier between the client and server side integration.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;Numerous mature technologies/concepts are available under commercial or GPL to provide seamless integration between JavaScript and server side technology.&lt;span style=""&gt;  &lt;/span&gt;And of course, these tools have features for developing rich internet applications.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;The justifications for developing Humax framework are:&lt;/font&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span style=""&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;A framework which enables you to develop RIA applications in a simple and elegant way.&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span style=""&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Minimal learning curve.&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span style=""&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Minimal integration means that it simplifies and tries to provide a unified platform for developing web applications.&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;The primary difference I’ve focused are the necessary level of abstraction and programmatic approach as like you are working in .NET and Java form application development.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;I shall update the roadmap and feedback/feature list later.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;I was started the development in end-June 2007 and because of the other stuffs in my leisure time did not allow me to release this as early.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;You can download the version 0.1 beta from &lt;/font&gt;&lt;a href="http://sourceforge.net/projects/humax"&gt;&lt;u&gt;&lt;font face=Calibri color="#800080" size=3&gt;http://sourceforge.net/projects/humax&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font face=Calibri color="#000000" size=3&gt; &lt;/font&gt;
&lt;h3 style="margin:10pt 0in 0pt"&gt;&lt;font face=Calibri color="#17365d" size=3&gt;Tools of the Trade&lt;/font&gt;&lt;/h3&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;I would like to share the tools I have used for the development of Humax v0.1.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font color="#000000"&gt;&lt;font face=Calibri&gt;Aptana IDE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;Though it is not a visual editor, I am using this IDE for writing client side script even for my other works also.&lt;span style=""&gt;  &lt;/span&gt;The code profile and dynamic type redefinition features of this IDE provide you full-fledged intelli-sense in JavaScript file.&lt;span style=""&gt;  &lt;/span&gt;The JavaScript file skeleton window enables you to manage and navigate the JavaScript files more easily.&lt;span style=""&gt;  &lt;/span&gt;It supports JSDoc, provides tooltip syntax for your class and normal HTML/JavaScript elements.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;What else you want?&lt;span style=""&gt;  &lt;/span&gt;I do not find any other IDE like this in the case of JavaScript.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font color="#000000"&gt;&lt;font face=Calibri&gt;JSDoc&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;This tool generates javadoc-style documentation from well-formed JavaScript source files.&lt;span style=""&gt;  &lt;/span&gt;It is my favorite document generation tool for JavaScript and I have used this for Humax API reference documentation.&lt;/font&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font color="#000000"&gt;&lt;font face=Calibri&gt;JsUnit and scriptaculous-js&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;font face=Calibri color="#000000" size=3&gt;I was bit confused which tool I need to use for unit testing.&lt;span style=""&gt;  &lt;/span&gt;In early days of development, I was used “scriptaculous-js”.&lt;span style=""&gt;  &lt;/span&gt;It is very simple and does not require more settings to start write and test the “unit test”.&lt;span style=""&gt;  &lt;/span&gt;And after a while I am also started using JsUnit.&lt;/font&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Humax+and+JavaScript&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!212.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!212.entry</guid><pubDate>Tue, 31 Jul 2007 05:42:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!212/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!212.entry#comment</wfw:comment><dcterms:modified>2007-07-31T05:42:18Z</dcterms:modified></item><item><title>Microsoft Real World SOA Kit</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!208.entry</link><description>&lt;div&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;Yesterday I have received the “Real World SOA” kit from Microsoft India.&lt;span style=""&gt;  &lt;/span&gt;The kit was covered by a cute blue with orange color bordered box with the caption “Microsoft presents Real World SOA – SOA that leverages your existing IT infrastructure”.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;After opening the box, I saw a letter from Karun Thareja, Sr. Product Manager in Microsoft India regarding the specialty of the kit.&lt;span style=""&gt;  &lt;/span&gt;The kit contains two white papers, one leaflet about BizTalk 2006 and one “Understanding SOA with Web Services” book.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;It was surprised for me that other than the above the kit does not contain trial or demo software, feature products leaflet.&lt;span style=""&gt;  &lt;/span&gt;The letter by Karun Thareja conveys a clear message that Microsoft is seriously thinking about your IT infrastructure for SOA and of course the feature of its products. &lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;I started to read the whitepaper on “Enabling Real World SOA through the Microsoft Platform”.&lt;span style=""&gt;  &lt;/span&gt;Though it was published on December 2006, it briefly explains SOA, its important and the line of products from Microsoft for SOA.&lt;span style=""&gt;  &lt;/span&gt;I was pretty impressed the way the whitepaper started.&lt;span style=""&gt;   &lt;/span&gt;I’ve read lot of SOA papers from various companies, some of them are not clear about SOA even though they have released tools for SOA.&lt;span style=""&gt;  &lt;/span&gt;Some of them presenting SOA in such a way to show it as a complex one as like as rocket science.&lt;span style=""&gt;  &lt;/span&gt;This white paper explains SOA and its benefits in a simple manner and helping the people to know where to start and how to start their SOA implementation.&lt;span style=""&gt;  &lt;/span&gt;One fine thing I’ve found that Microsoft &lt;span style=""&gt; &lt;/span&gt;recommends to start SOA implementation with “Middle out” strategy with one business need at a time, instead of going with “Top-down” or “Bottom-up” approach.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;I am yet to read another one whitepaper “Understanding BizTalk Server 2006” by David Chapell – Chappell &amp;amp; Associates at August 2005.&lt;span style=""&gt;  &lt;/span&gt;But hope that it will be good.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Calibri color="#000000" size=3&gt;Finally, without any explanation, everybody knows the major intention of this kit is “Microsoft BizTalk”.&lt;span style=""&gt;  &lt;/span&gt;Why not?&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Microsoft+Real+World+SOA+Kit&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>SOA</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!208.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!208.entry</guid><pubDate>Fri, 20 Jul 2007 07:30:41 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!208/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!208.entry#comment</wfw:comment><dcterms:modified>2007-07-20T07:30:41Z</dcterms:modified></item><item><title>Discipline in Object Orientation – [JavaScript – The Platform for Web 2.0 Part III]</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!198.entry</link><description>&lt;p&gt;As per our &amp;quot;Anything on…&amp;quot; slogan, there are numerous ways we can define properties and methods for a class. This flexibility is more helpful in the implementation of bulky script animation, drag n drop, etc. But for a normal UI validation and business entity manipulation we have to follow a discipline. This will enable us to maintain and enhance a JavaScript code in long-time manner. 
&lt;p&gt;Firstly, let us see the different ways to define a class. 
&lt;h1&gt;Object Declaration &lt;/h1&gt;
&lt;h2&gt;Way 1 &lt;/h2&gt;
&lt;p&gt;See the code snippet 1. 
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;function&lt;/span&gt; Point(x, y) &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.x = x; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.y = y; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.toString = &lt;span style="color:blue"&gt;function&lt;/span&gt;(){&lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:#a31515"&gt;&amp;quot;(&amp;quot;&lt;/span&gt; + &lt;span style="color:blue"&gt;this&lt;/span&gt;.x + &lt;span style="color:#a31515"&gt;&amp;quot;,&amp;quot;&lt;/span&gt; + &lt;span style="color:blue"&gt;this&lt;/span&gt;.y + &lt;span style="color:#a31515"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;} &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;} &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt; point = &lt;span style="color:blue"&gt;new&lt;/span&gt; Point(10, 5); &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;alert(point.toString()); &lt;span style="color:green"&gt;//shows (10,5)&lt;/span&gt; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;strong&gt;Code Snippet 1 &lt;/strong&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pnsM_2CfVDbg-5rpRZKd-4gzTHWNNPcJw3-_Rv6zKOvpOHLlI5lcXHAb4PUX9LCAC"&gt;Figure 1&lt;/a&gt; explains the nature of this approach. 
&lt;p&gt;
&lt;p&gt;A class named &amp;quot;Point&amp;quot; is defined with two properties (x and y) and a method &amp;quot;toString()&amp;quot;. All the definitions are bundled within &amp;quot;Point&amp;quot; constructor. But technically, there are two issues with this approach; both make this approach as not optimal: 
&lt;ul&gt;
&lt;li&gt;Each instance of Point class will have its own copy of members (x, y and 'toString()'). It is feasible for &amp;quot;field&amp;quot; declarations, but harmful for &amp;quot;method&amp;quot; declaration. Each instances has their own copy of code for &amp;quot;toString()&amp;quot;. 
&lt;li&gt;The arguments of above constructor (x and y) are global to all members. Yes, toString() can access the arguments &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot;. Is it optimal? &lt;/ul&gt;
&lt;h2&gt;Way 2 &lt;/h2&gt;
&lt;p&gt;As we know that &amp;quot;new&amp;quot; operator in JavaScript enables us to create instance of a class. The function followed by &amp;quot;new&amp;quot; means that it acts as a constructor for the class. The declaration and initialization are happened in the same place as like code snippet 1. Also, JavaScript does the more work. The lifecycle of an object creation is depicted in&lt;a href="http://tkfiles.storage.msn.com/y1pnsM_2CfVDbhKGo3kgD83sOLu6_hDKY9MucMQn7WD5xvI-vuWvqN1d6-YTjt7TSgm"&gt; figure 2&lt;/a&gt;. 
&lt;p&gt;
&lt;ol&gt;
&lt;li&gt;Point class is declared and defined. 
&lt;li&gt;An object of Point is created. 
&lt;li&gt;JavaScript, creates &amp;quot;prototype&amp;quot; object with &amp;quot;constructor&amp;quot; property refers the Point constructor and add this as a property of point instance. 
&lt;li&gt;If we defined Point as specified in code snippet 2, all the prototype specific members are initialized and added to point instance's prototype member. &lt;/ol&gt;
&lt;p&gt;In figure 2, upto point 3, there is no different between way 1 and way 2. After instantiating Point with &amp;quot;new&amp;quot;, JavaScript add an object &amp;quot;prototype&amp;quot; to the instance &amp;quot;point&amp;quot; as property. By default, &amp;quot;prototype&amp;quot; object has a property named &amp;quot;constructor&amp;quot;. Whenever, prorotype is initiated, it assigns the corresponding object's constructor function to its &amp;quot;constructor&amp;quot; property. 
&lt;p&gt;If we define the Point class properties and methods in its prototype object, then it can be sharable. That is, each instance has separate &amp;quot;property&amp;quot; values and share same function point. See code snippet 2. 
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;Point = &lt;span style="color:blue"&gt;function&lt;/span&gt;(x, y) &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.x = x; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.y = y; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;};                  &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;         &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;Point.prototype.toString = &lt;span style="color:blue"&gt;function&lt;/span&gt;() &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:#a31515"&gt;&amp;quot;(&amp;quot;&lt;/span&gt; + &lt;span style="color:blue"&gt;this&lt;/span&gt;.x + &lt;span style="color:#a31515"&gt;&amp;quot;,&amp;quot;&lt;/span&gt; + &lt;span style="color:blue"&gt;this&lt;/span&gt;.y + &lt;span style="color:#a31515"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;; &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;} &lt;/span&gt;
&lt;p style="background:#eaf1dd"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;strong&gt;Code Snippet 2 &lt;/strong&gt;&lt;/span&gt;
&lt;p&gt;We can refactor code snippet 2 to create more discipline in the next article.&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://byfiles.storage.live.com&amp;#47;y1pPOV8ERUCeOaUDhXeyJ_SCS-Glqgf--sLN1qZ-iMvJUIm1JEcbItnyf2D0UTGmI2j"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;1EA86C1FB1C134B8&amp;#33;199&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://byfiles.storage.live.com&amp;#47;y1pQ74_Gz2zJsOp0YrtP1xkBMuc_i1Luce-JOrTFyRZcvJHvSLu3QDfO5IQxVIrMAwq"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;1EA86C1FB1C134B8&amp;#33;200&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Discipline+in+Object+Orientation+%e2%80%93+%5bJavaScript+%e2%80%93+The+Platform+for+Web+2.0+Part+III%5d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!198.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!198.entry</guid><pubDate>Mon, 28 May 2007 05:13:19 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!198/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!198.entry#comment</wfw:comment><dcterms:modified>2007-05-28T05:16:46Z</dcterms:modified></item><item><title>JavaScript – The Platform for Web 2.0 – Part II</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!194.entry</link><description>&lt;p&gt;&lt;font size=2&gt;The next feature in JavaScript nowadays acts a protocol between web client and server. We know that there are two types of web development technologies available in the market. &lt;/font&gt;
&lt;ol&gt;
&lt;li&gt;&lt;font size=2&gt;Pure server side technology. (ASP.NET, Servlet) &lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;Mixed mode technology. (PHP) &lt;/font&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font size=2&gt;The first one raises necessary level of abstraction between client and server side processing. Second one mixed with actual HTML page. Both have pros and cons. Most consumers wants the first one because of its abstraction and separation between UI rendering and UI processing. And it allows us to do object-design. Also, it provides more flexibility to interact with business services of a particular application. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;How do the client and this server side talks with each other? Till pre-Ajax, we did by passing a string of HTML/CSV/Plain text/XML. The more general and gentle approach is XML. But based on customer's SLA (Service Level Agreement), the developers selected the feasible one. In any approach, we need a to and fro converter on both server and client. In server, the result of a process (generally business entities or value objects) is converted to anyone of the above approach. In client, based on the approach we need to write JavaScript code to parse these values. We cannot fully say this approach is MVC's (Model-View-Controller) baby because the OO is missing here. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Then now, is there any Ajax implementation to resolve this? Solution is available. But it is not an invention of Ajax. It is a feature of JavaScript. What is that? &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;In JavaScript specification, it is called as object literals. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Let us take one example. NJS Shopper is an online application for a grocery shop. After a customer placed list of items and paid online, the system finally shows him what are all items he ordered and price for these. The application server returns these information as a business entity named &amp;quot;OrderDetails&amp;quot;. The figure 1 shows the details of this entity. &lt;/font&gt;
&lt;p&gt;&lt;span style="font-size:9pt;color:#4f81bd"&gt;&lt;strong&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pnsM_2CfVDbgahidq0MdiRcIfIUxEFrVMw4ILFvKDPmxWTwrrqfFVW6aXV7qCJj3M"&gt;&lt;font size=2&gt;Figure 1 &lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;p&gt;&lt;font size=2&gt;I am not going to explain the business details of the above. Before going further on how can we implement a protocol to speak both server and client in &amp;quot;object&amp;quot; context, let us see what Object Literals is? &lt;/font&gt;
&lt;h1&gt;Object Literals &lt;/h1&gt;
&lt;p&gt;&lt;font size=2&gt;We can create a JavaScript object (again object, not class) using object literals. All the members of an object can be declared as name-value pair with color separated. Each members are separated by commas and enclosed within {} as like arrays. For example, &lt;/font&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt; orderDetails = {orderID:19092, customerName:&lt;span style="color:#a31515"&gt;&amp;quot;Sheik&amp;quot;&lt;/span&gt;, netAmount:2184.00}; &lt;/span&gt;
&lt;p&gt;&lt;font size=2&gt;Unlike C++/C#/Java, in JavaScript, we can create an object without any class declaration. One more proof of &amp;quot;Anything can be defined…&amp;quot; slogan. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Now think that, instead of passing HTML, XML or plain text from server to client, we can create object literals at server side and send it to client. Then, JavaScript can process the object literals. At server side, we have to write a converter for the above entity to JavaScript object literals. For example, here I've written a very basic server side code snippet for OrderDetails excluding orders field in ASP.NET 2.0. &lt;/font&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:#2b91af"&gt;StringBuilder&lt;/span&gt; orderDetailsBuilder = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;StringBuilder&lt;/span&gt;(); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;font size=2&gt;  &lt;/font&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;orderDetailsBuilder.Append(&lt;span style="color:#a31515"&gt;&amp;quot;{&amp;quot;&lt;/span&gt;); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;orderDetailsBuilder.AppendFormat(&lt;span style="color:#a31515"&gt;&amp;quot;orderID:'{0}', customerName:'{1}', netAmount:{2}}}&amp;quot;&lt;/span&gt;, &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;orderDetails.OrderID, orderDetails.CustomerName, orderDetails.NetAmount); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;Response.Write(orderDetailsBuilder.ToString()); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;Response.End();&lt;/span&gt;&lt;font size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Caution: In .NET, using reflection we can generate object literals more general and in abstract manner. The above code snippet is just for example. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;The following code snippet shows that how to handle the returned object. &lt;/font&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt; asyncReq = &lt;span style="color:blue"&gt;new&lt;/span&gt; ActiveXObject(&lt;span style="color:#a31515"&gt;&amp;quot;Msxml2.XMLHTTP&amp;quot;&lt;/span&gt;); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;asyncReq.onreadystatechange = &lt;span style="color:blue"&gt;function&lt;/span&gt;() &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style="color:blue"&gt;    if&lt;/span&gt; (asyncReq.readyState == 4) &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    { &lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#ffcc99"&gt;&lt;span style="color:blue"&gt;      &lt;font style="background-color:#f9dbdb"&gt;  if&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font style="background-color:#f9dbdb"&gt; (asyncReq.status == 200) &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;        { &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;&lt;span style="color:blue"&gt;          var&lt;/span&gt; resultString = asyncReq.responseText; &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;&lt;span style="color:blue"&gt;          var&lt;/span&gt; orderDetails = eval(&lt;span style="color:#a31515"&gt;&amp;quot;(&amp;quot;&lt;/span&gt; + resultString +&lt;span style="color:#a31515"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;); &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;          alert(&lt;span style="color:#a31515"&gt;&amp;quot;Customer: &amp;quot;&lt;/span&gt; + orderDetails.customerName + &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;&lt;span style="color:#a31515"&gt;              &amp;quot; Order ID: &amp;quot;&lt;/span&gt; + orderDetails.orderID + &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;&lt;span style="color:#a31515"&gt;              &amp;quot; Net Amount: &amp;quot;&lt;/span&gt; + orderDetails.netAmount); &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;font style="background-color:#f9dbdb"&gt;         } &lt;/font&gt;&lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    } &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;}; &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;asyncReq.open(&lt;span style="color:#a31515"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515"&gt;&amp;quot;Default.aspx?a1=od&amp;quot;&lt;/span&gt;, &lt;span style="color:blue"&gt;true&lt;/span&gt;); &lt;/span&gt;
&lt;p style="background:#f2dbdb"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;asyncReq.send(&lt;span style="color:blue"&gt;null&lt;/span&gt;); &lt;/span&gt;
&lt;p&gt;&lt;font size=2&gt;In AJAX period, this is called as JSON – JavaScript On Notation, a best protocol for server to client transmission. &lt;/font&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://byfiles.storage.live.com&amp;#47;y1pUDO8LMO_LX1T7bS_U_C_jcz9ZgqViS9Oir_jrTbKDPniy8_yR8-IEcxXerLgSvI0"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;1EA86C1FB1C134B8&amp;#33;197&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+JavaScript+%e2%80%93+The+Platform+for+Web+2.0+%e2%80%93+Part+II&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!194.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!194.entry</guid><pubDate>Mon, 21 May 2007 09:14:03 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!194/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!194.entry#comment</wfw:comment><dcterms:modified>2007-05-21T09:27:16Z</dcterms:modified></item><item><title>JavaScript – Platform for Web 2.0</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!190.entry</link><description>&lt;p&gt;&lt;font size=2&gt;I was excluded JavaScript in the &amp;quot;Web 2.0 basic things&amp;quot; intentionally, because JavaScript is the only choice for every web pages. But most of us know and/or use half the feature of JavaScript. JavaScript has more than these.  Lot of frameworks which target Web 2.0 and applications utilize these smart features. I would like to share some of these features which make JavaScript as a platform for Web 2.0 applications. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;If you know these, please have a look and share your knowledge.&lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Before getting into these, keep the following statement in your mind about JavaScript: &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;&amp;quot;Anything can be defined within the context of anything and assigned it to anything&amp;quot;. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Confused? &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Let's take an example, you can define a class from a function and enumerate its properties as array elements. And, you can treat an array as a object, function as data, etc. The following sections briefs about this. &lt;/font&gt;
&lt;h2&gt;Lamda Functions &lt;/h2&gt;
&lt;p&gt;&lt;font size=2&gt;Lamda functions are unnamed functions which can be assigned to a variable like assigning an expression. This is more or less similar to functional programming style. See the following example: &lt;/font&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;var square = function(x){return x*x;}     &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;alert(square(2)); // returns 2 * 2 = 4 &lt;/span&gt;  
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;strong&gt;&lt;u&gt;Code Snippet 1&lt;/u&gt; &lt;/strong&gt;&lt;/span&gt;  
&lt;p&gt;&lt;font size=2&gt;The square is actually a variable on which the function reference with the above signature has been assigned. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;What is the difference between normal named functions and lamda functions? &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Let us see the below code snippets: &lt;/font&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;var square = function(x){return x*x;}     &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;function twoSquare(square) &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    return square * 2; &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;} &lt;/span&gt;  
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;alert(twoSquare(square(3))); // returns 9 * 2 = 18 &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;strong&gt;&lt;u&gt;Code Snippet 2&lt;/u&gt; &lt;/strong&gt;&lt;/span&gt;
&lt;p&gt;&lt;font size=2&gt;In the above example, the lamda function &amp;quot;square&amp;quot; is passed as argument to &amp;quot;twoSquare&amp;quot; function as function reference. See the body of &amp;quot;twoSquare&amp;quot;. It treats the function &amp;quot;square&amp;quot; as a variable. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Also, you can assign or treat lamda function to object property and array element. The developers of &amp;quot;C&amp;quot; family can enjoy this feature. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;The lamda function simulates the C++ or C# style class declaration when creating a class. See the Code Snippet 3. &lt;/font&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;function Customer(title, firstName) &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;{ &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    this.title = title; &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    this.firstName = firstName; &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;    this.getName = function(){return this.title + &amp;quot; &amp;quot; + this.firstName.toUpperCase();} &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;} &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;  
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;var amid = new Customer(&amp;quot;Mr&amp;quot;,&amp;quot;Amid&amp;quot;); &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;alert(amid.getName()); // returns Mr AMID &lt;/span&gt;
&lt;p style="background:#ddd9c3"&gt;&lt;u&gt; &lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;strong&gt;Code Snippet 3 &lt;/strong&gt;&lt;/span&gt;&lt;/u&gt;
&lt;p&gt;&lt;font size=2&gt; In code snippet 3, a class Customer has been defined. In this getName is a lamda function. Remember, getName is variable to the function reference. &lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;Let us see other features in succeeding articles.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+JavaScript+%e2%80%93+Platform+for+Web+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!190.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!190.entry</guid><pubDate>Tue, 15 May 2007 04:20:52 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!190/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!190.entry#comment</wfw:comment><dcterms:modified>2007-05-15T04:29:01Z</dcterms:modified></item><item><title>Things behind Web 2.0</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!186.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Recently, I had read an article about Web 2.0.&lt;span&gt;  &lt;/span&gt;In this article, the author defined a formula for Web 2.0, which is&lt;/font&gt; 
&lt;p&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;&lt;i&gt;AJAX&lt;/i&gt;&lt;i&gt; + SOA + OSS = Web 2.0&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;AJAX = Asynchronous JavaScript and XML&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;SOA = Service Oriented Architecture&lt;/font&gt; 
&lt;p&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;OSS = Open Source Software&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I am ok with the above formula, except for the open source software bit.&lt;span&gt;  &lt;/span&gt;Note that I am not against OSS, but inspired by.NET and Java technologies.&lt;span&gt;  &lt;/span&gt;I agree that OSS provides common ground for everybody to build applications/frameworks in a quick and efficient manner.&lt;span&gt;  &lt;/span&gt;However, commercial software (closed source software) is not at any point inferior to OSS.&lt;span&gt;  &lt;/span&gt;Also, they are so reliable and scalable.&lt;span&gt;  &lt;/span&gt;Okay, that’s a separate story.&lt;span&gt;  &lt;/span&gt;From my point of view, we should consider the industry standard specifications and technologies.&lt;/font&gt; 
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font face=Tahoma color="#000000" size=2&gt;What are the things that make the difference between Web (1.0!) and Web 2.0?&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Web 2.0 is more about the changes in usability or interactivity of web than technologies, because there is no new technology or protocols for Web 2.0.&lt;span&gt;  &lt;/span&gt;The paradigm shift happened only due to proper usage XmlHttpRequest and SOAP.&lt;span&gt;  &lt;/span&gt;Both these have been existing in the field since the late 90s.&lt;span&gt;  &lt;/span&gt;I have used XmlHttpRequest object for displaying “Please wait…” progress indication message in web sites in the pre-ajax period. In these periods, most of us developed web services with an object-orientation mind set.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Examples of differences are:&lt;/font&gt; 
&lt;table style="border-right:medium none;border-top:medium none;border-left:medium none;border-bottom:medium none;border-collapse:collapse" cellspacing=0 cellpadding=0 border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top width=167&gt;
&lt;p&gt;&lt;b&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;Web 1.0&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt; 
&lt;td valign=top width=276&gt;
&lt;p&gt;&lt;b&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;Web 2.0&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt; 
&lt;tr&gt;
&lt;td valign=top width=167&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Personal web sites&lt;/font&gt; 
&lt;td valign=top width=276&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Blogs&lt;/font&gt; 
&lt;tr&gt;
&lt;td valign=top width=167&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Groups&lt;/font&gt; 
&lt;td valign=top width=276&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Social Networking&lt;/font&gt; 
&lt;tr&gt;
&lt;td valign=top width=167&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Encyclopedia Britannica&lt;/font&gt; 
&lt;td valign=top width=276&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Wikipedia&lt;/font&gt; 
&lt;tr&gt;
&lt;td valign=top width=167&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;--&lt;/font&gt; 
&lt;td valign=top width=276&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Syndication&lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Additionally, web services make things better and interoperable.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Here, I’ve shown my first level basic list of technologies behind Web 2.0.&lt;/font&gt; 
&lt;ol&gt;
&lt;li&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma size=2&gt;XmlHttpRequest&lt;/font&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font:7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Tahoma size=2&gt;SOAP&lt;/font&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma size=2&gt;Patterns and models for Web 2.0 application&lt;/font&gt;&lt;/font&gt; &lt;/ol&gt;
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Surprised?&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;We can use the term AJAX, by XmlHttpRequest with some design models and patterns.&lt;span&gt;  &lt;/span&gt;Otherwise, people in this ajax world will shoot us.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay, let us explore more about the first two points before getting into the world AJAX in succeeding articles.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Things+behind+Web+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!186.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!186.entry</guid><pubDate>Mon, 30 Apr 2007 06:24:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!186/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!186.entry#comment</wfw:comment><dcterms:modified>2007-04-30T06:33:43Z</dcterms:modified></item><item><title>Emerging Web 2.0</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!184.entry</link><description>&lt;div&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Hope everybody has seen the term “Rich Internet Application”, simply RIA and Web 2.0 in any of the computing technology web sites.&lt;span style=""&gt;  &lt;/span&gt;Google initiated the second revolution of web and it has impacted everybody in the computing world.&lt;span style=""&gt;  &lt;/span&gt;We all know about the dot com revolution in 2000 period.&lt;span style=""&gt;  &lt;/span&gt;With immature web development technologies and low speed internet connections, the revolution was a major flop and it made everyone to think seriously about web based solutions.&lt;span style=""&gt;  &lt;/span&gt;Limited Internet consumerism was one more factor.&lt;span style=""&gt;  &lt;/span&gt;At that time nobody was interested in using the Internet for purposes other than email and surfing.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Then ASP (Application Service Provider) arrived.&lt;span style=""&gt;   &lt;/span&gt;No one was ready to think out of their corporate walls. &lt;span style=""&gt; &lt;/span&gt;The technology was one reason for that.&lt;span style=""&gt;  &lt;/span&gt;At that time, web technologies providers did not think of security beyond encrypted authentication mechanisms.&lt;span style=""&gt;  &lt;/span&gt;And also, CxOs thought of “Enterprise” aspects only within their UNIX box.&lt;/font&gt;
&lt;p style=""&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;Almost all major players closed their web shops and provided only web development products.&lt;span style=""&gt;  &lt;/span&gt;Their Internet ideas were used within Intranet environment.&lt;span style=""&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;The Internet backbone technologies have now matured and people are enjoying high-speed broadband Internet connections.&lt;span style=""&gt;  &lt;/span&gt;After that, technologies piled up in companies with garbage restored and refreshed.&lt;span style=""&gt;  &lt;/span&gt;Though Yahoo! initiated the actual game, Google has made the biggest impression on this.&lt;span style=""&gt;  &lt;/span&gt;They successfully converted Internet-challenged software applications into simple and powerful web apps.&lt;span style=""&gt;  &lt;/span&gt;GMail and Google Map are some examples.&lt;span style=""&gt;  &lt;/span&gt;Google Search is still surviving as the world’s number one search engine because of its right level of software and hardware combination for their search engine.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Microsoft had recognized this area a little bit later and started to think seriously about its Live platform and also how to breathe new life into its Windows and Internet platforms.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;O’Reilly, in 2004, coined the term “Web 2.0” based on technologies from various players especially Google and Wiki.&lt;span style=""&gt;  &lt;/span&gt;But some do not agree to the versioning of Web.&lt;span style=""&gt;  &lt;/span&gt;They argued that Web 2.0 is a buzzword.&lt;span style=""&gt;  &lt;/span&gt;However most Internet players thought that they need that term to define and organize current emerging technologies under one roof.&lt;/font&gt;
&lt;p style=""&gt;&lt;b&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face=Tahoma&gt;What is Web 2.0?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;What does Web 2.0 really mean and what are all the technologies behind Web 2.0?&lt;span style=""&gt;  &lt;/span&gt;Tim O’Reilly tried to define the term in his article “Web 2.0 - Design Patterns and Business Models for the Next Generation of Software”.&lt;span style=""&gt;  &lt;/span&gt;The Web 2.0 Expo pointed out some approaches proposed by some web products such as YouOS, G.ho.st, Nokia smart phone widgets and Google PowerPoint.&lt;span style=""&gt;  &lt;/span&gt;And it also pointed out some technologies such as Vidoop’s new authentication technology and IBM dashboard.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;But people are still confused about Web 2.0.&lt;span style=""&gt;  &lt;/span&gt;Everybody agreed that AJAX is the core model (Note that it is a pattern not a technology) for Web 2.0 and broadband Internet connection is the basic backbone for this.&lt;span style=""&gt;  &lt;/span&gt;Notable other aspects are blogs and web syndication.&lt;span style=""&gt;  &lt;/span&gt;Other than these, they are seriously listed out technologies from the Non-Microsoft campus.&lt;span style=""&gt;  &lt;/span&gt;Also, they have provided very small space for Web Services.&lt;span style=""&gt;  &lt;/span&gt;One pathetic truth is that they have listed PHP for web development and missed out ASP.NET and JSP.&lt;span style=""&gt;  &lt;/span&gt;I do not know what makes PHP a more serious aspect than the mature ASP.NET and JSP.&lt;span style=""&gt;  &lt;/span&gt;I’m expecting the role of W3C to define and standardize the Web 2.0 technologies.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Personally, I would like to prepare a list of technologies for Web 2.0.&lt;span style=""&gt;  &lt;/span&gt;If anybody is interested please join me.&lt;span style=""&gt;  &lt;/span&gt;One condition though - you have to look at both open and proprietary platforms.&lt;/font&gt;
&lt;p style=""&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Cheers!&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Emerging+Web+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Web 2.0</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!184.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!184.entry</guid><pubDate>Mon, 23 Apr 2007 06:06:30 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!184/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!184.entry#comment</wfw:comment><dcterms:modified>2007-04-23T06:06:30Z</dcterms:modified></item><item><title>Programmatic Remote MSI Installation in Windows - 2</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!181.entry</link><description>&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;&lt;u&gt;WMI - Introduction&lt;/u&gt;&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In an enterprise environment, WMI lets you to query and update information on clients machines and applications.  It provides a standarize means for managing a system whether it is a local or in a network.  Developers can use WMI programmatically by Windows Scripting, C++/VB and of course .NET.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;&lt;u&gt;WMI Installer Provider&lt;/u&gt;&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;It lets us to access and manage Windows Installer through WMI classes.  Following are the core classes of WMI Installer Provider:&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Win32_Product&lt;/font&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Win32_SoftwareElement&lt;/font&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Win32_SoftwareFeature&lt;/font&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;The Win32_Product class contains methods to install, uninstall and uninstall an application programmatically.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In addition, Windows provides set of tools to manage WMI.  These are:&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WMI CIM Studio, WMI Object Browser, WMI Event Registration and WMI Event viewer  - see MSDN.&lt;/font&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WinMgmt.Exe - For manage&lt;/font&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WbemTest.Exe - WMI Tester tool&lt;/font&gt;&lt;/ul&gt; &lt;p&gt;&lt;u&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WMI in .NET&lt;/font&gt;&lt;/u&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;The System.Management class provides rich set of classes to manage WMI in .NET.  See: MSDN Library or .NET SDK Documentation.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In the froser_foo thread, a sample code has been provided.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In the next series, I'll explain the problem I'm still facing with WMI Installer Provider in very detail.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;C...U...&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Programmatic+Remote+MSI+Installation+in+Windows+-+2&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!181.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!181.entry</guid><pubDate>Mon, 22 Jan 2007 12:47:34 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!181/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!181.entry#comment</wfw:comment><dcterms:modified>2007-01-22T12:47:34Z</dcterms:modified></item><item><title>SQL Server 2005 :: Transaction Log - Final Part</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!180.entry</link><description>&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I came to know that (not surprisingly) you cannot decode the details in MS SQL Server transaction log other than using third party tools like AuditDB, Idera SQL Compliance and so on.  These external tools are among the Microsoft wing to provide transaction log information.  For others, Microsoft does not give any official support/documentation.   Thats the business trick. :)&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay, beware when you purchase third party tools.  Check that whether they support transaction log or use automated triggers for each and every tables in a database?&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;One good thing I came to know is SoftTree Technologies recently released database auditing API for SQL Server, Oracle and Sybase.  (Source: &lt;/font&gt;&lt;a href="http://snipurl.com/SoftTreeAuditDBAPI"&gt;&lt;font face=Tahoma color="#000000" size=2&gt;http://snipurl.com/SoftTreeAuditDBAPI&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma color="#000000" size=2&gt;).  But for this, you have to pay a big amount.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Bye.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+SQL+Server+2005+%3a%3a+Transaction+Log+-+Final+Part&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!180.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!180.entry</guid><pubDate>Mon, 22 Jan 2007 07:17:22 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!180/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!180.entry#comment</wfw:comment><dcterms:modified>2007-01-22T07:17:41Z</dcterms:modified></item><item><title>Programmatic Remote MSI Installation in Windows</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!179.entry</link><description>&lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Two months before, I received a requisition to automate the installation of a set of MSIs for our products on any remote machine.  The strategy of the this automated installation has some intelligent alignments (thanks to my team managers) of product features with related MSIs.  The GUI part of the tool is used to configure such things.  The command line tool just take a configuration and install a set of features on the given machines.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;The basic functionality of the command line tool is to install a set of MSIs on one or more remote machines.  For this, we planned to used WMI.  Before that I briefly explain the environment.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Development Platform: .NET 2.0 &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Server Platform: Windows Server 2003 Ent&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Decided that all the machines are connected in a same network domain.  &lt;/font&gt;&lt;font face=Tahoma color="#000000" size=2&gt;We are successfully implemented the command line tool (here after I called CMDTL).  After the first test, we met a problem while installing a MSI on remote machine.  The story is really complicated and also by the help of fraser_foo, I was moved some more steps for the solution, but...?! (okay).  At the time of development, I saw a thread in Microsoft forum initiated by fraser_foo.  You can visit that thread by just googling &amp;quot;Remote MSI Installation&amp;quot; or &lt;a href="http://snipurl.com/RemoteInstallWMI"&gt;visit that thread&lt;/a&gt;.  You can see a long replies.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay, Let me explain the story.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Let three machines A, B and C in a domain called &amp;quot;XDOMAIN&amp;quot;.  And let consider the user &amp;quot;ADMIN_USER&amp;quot; has all administrator credential on all machines.  The domain is working in ADS (Active Directory service) enivronment.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;A: Here, I'm running the CMDTL.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;B: On this, the MSI packages are installed and shared with all set of permission to ADMIN_USER.  Let take a sample MSI called SAMSETUP.msi.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;C: The target machine on which I need to install SAMSETUP.msi.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;All the three machines are running in Win2003 Server with WMI Installer Provider.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Note: &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;By default, WMI Windows Installer Provider is not installed in Win2003.  You have to install by&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;select &lt;strong&gt;Start &amp;gt; Control Panel &amp;gt; Add or Remove Programs&lt;/strong&gt;.&lt;/font&gt;  &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;In Add or Remove Programs window,  press &lt;strong&gt;Add or Remove Windows Components &lt;/strong&gt;button.  &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;In Windows Components Wizard window, select &lt;strong&gt;Management and Monitoring Tools&lt;/strong&gt; from the Components list.  Press &lt;strong&gt;Details.. &lt;/strong&gt;button. &lt;/font&gt;  &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;In Management and Monitoring Tools window, select &lt;strong&gt;WMI Windows Installer Provider&lt;/strong&gt; in the Subcomponents of Management and Monitoring Tools list.&lt;/font&gt;  &lt;p&gt;&lt;font face=Tahoma color="#000040" size=2&gt;Press &lt;strong&gt;OK&lt;/strong&gt;.&lt;/font&gt;  &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;See the below scenario:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Scenario 1:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Running CMDTL in A.  SAMSETUP.msi file in B. Target machine is A itself.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Result --&amp;gt; PASS&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Scenario 2:&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Running CMDTL in A. SAMSETUP.msi file in C.  Target machine is C.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Result --&amp;gt; PASS&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Scenario 3:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Running CMDTL in A. SAMSETUP.msi file in B.  Target machine is C.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Result --&amp;gt; FAIL&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;But we really need the third scenario only.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay, In this article, I'm going to explain the below:&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WMI&lt;/font&gt;  &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WMI Installer&lt;/font&gt;  &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WMI in .NET&lt;/font&gt;  &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Problem with WMI Installer&lt;/font&gt;  &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;WSH&lt;/font&gt;  &lt;li&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Remoting Scripting&lt;/font&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;C...U.. I'll meet on series 2.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Programmatic+Remote+MSI+Installation+in+Windows&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!179.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!179.entry</guid><pubDate>Fri, 19 Jan 2007 14:00:55 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!179/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!179.entry#comment</wfw:comment><dcterms:modified>2007-01-22T07:21:55Z</dcterms:modified></item><item><title>SQL Server 2005 :: Transaction Log - 2</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!178.entry</link><description>&lt;p&gt;&lt;strong&gt;&lt;font color="#000000"&gt;::fn_dblog&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I've tried more to know the details of transaction log column information.  During this time, I found a system function ::fn_dblog which is more convenient than DBCC LOG for the following reasons even though it does not have any documentation:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;1. DBCC LOG consumes more power to retrieve transaction log info.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;2. It is a DML query and flexible than DBCC.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Syntax: SELECT * FROM ::fn_dblog(&amp;lt;START_LSN&amp;gt;, &amp;lt;END_LSN&amp;gt;) [WHERE ...]&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;START_LSN :  Starting Log Sequence Number&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;END_LSN: Ending Log Sequence Number&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;We know that the transaction log keeps records by  CURRENT LSN column.  Every transaction entry can be identified by an unique LSN.  The fn_dblog function fetches all the records from log.  Here you can pass start &amp;amp; end LSN to limit your search, otherwise you should NULL on both.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Example:&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" color="#000000"&gt;Use MyTestDB&lt;br&gt;SELECT * FROM ::fn_dblog(NULL, NULL)&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Following column are displayed:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;First section:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Current LSN                         Operation                       Context                     Transaction ID&lt;br&gt;-----------------------------------------------------------------------------------------------------------------&lt;br&gt;0000003a:00000077:0001 LOP_SET_BITS                LCX_DIFF_MAP          0000:00000000&lt;br&gt;0000003a:00000077:0002 LOP_BEGIN_XACT           LCX_NULL                  0000:00000c1b&lt;br&gt;0000003a:00000077:0003 LOP_MODIFY_COLUMNS LCX_CLUSTERED        0000:00000c1b&lt;br&gt;0000003a:00000077:0004 LOP_SET_BITS                LCX_DIFF_MAP           0000:00000000&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Second Section:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Previous LSN                       FlagBits Alloc                       Alloc                         Page ID&lt;br&gt;                                                         UnitID                    UnitName &lt;br&gt;-------------------------------------------------------------------------------------------------------------------&lt;br&gt;00000000:00000000:0000 0x0000 6488064                 Unknown Alloc Unit 0001:00000006&lt;br&gt;00000000:00000000:0000 0x0200 NULL                       NULL                       NULL&lt;br&gt;0000003a:00000077:0002 0x0200 281474981691392 sys.sysdbfiles.clst   0001:00000055&lt;br&gt;00000000:00000000:0000 0x0000 6488064                 Unknown Alloc Unit 0001:00000006&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;and more......  &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In this, I can understand the purpose of the following column based on the semantics:&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Operation - &lt;/font&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Which type of operation occurred.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Some meaning values are: LOP_BEGIN_XACT - Internal checkpoint of an INSERT or UPDATE transaction.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;LOP_MODIFY_COLUMNS - update statement called and LOP_INSERT_ROWS - insert row.&lt;/font&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Alloc Unit Name  - object name&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay come back to the function.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In this function, you cannot pass the LSN value as displayed above (0000003a:00000077:0001).  The function accepts only number formated NVARCHAR values.  So, we have to convert these hexa-decimal to NVARCHAR.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;How........?&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;You can do it in two ways:&lt;/font&gt; &lt;p&gt;&lt;u&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I. Using your calc (Calculator in WinXP)&lt;/font&gt;&lt;/u&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;   1. Let the hexa 0000003a:00000077:0001.  It contains 3 parts separated by ':'.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;   2. Open you calc in hex mode.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;   3. Cut the first part of hexa and paste it into calc. &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;   4. Change the mode to decimal.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;   5. Copy the displayed value to a notepad.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;  6. Do the step 3 - 5 for other 2 parts.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;  7. Finally, you will get a string '58:119:1'.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Instead of above fn_dblog call, use the below:&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" color="#000000"&gt;Use MyTestDB&lt;br&gt;SELECT * FROM ::fn_dblog('58:119:1', '58:119:4')&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;It displays only LSN from 0000003a:00000077:0001 to 0000003a:00000077:0004.&lt;/font&gt; &lt;p&gt;&lt;u&gt;&lt;font face=Tahoma color="#000000" size=2&gt;II. Programmatically (Thanks killspid: &lt;/font&gt;&lt;/u&gt;&lt;a href="http://killspid.blogspot.com/"&gt;&lt;u&gt;&lt;font face=Tahoma color="#000000" size=2&gt;http://killspid.blogspot.com/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;u&gt;&lt;font face=Tahoma color="#000000" size=2&gt;)&lt;/font&gt;&lt;/u&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Here is the excerpt from his blog:&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" color="#000000"&gt;SET NOCOUNT ON&lt;br&gt;DECLARE @LSN NVARCHAR(46)&lt;br&gt;DECLARE @LSN_HEX NVARCHAR(25)&lt;br&gt;DECLARE @tbl TABLE (id INT identity(1,1), i VARCHAR(10))&lt;br&gt;DECLARE @stmt VARCHAR(256)&lt;br&gt;SET @LSN = (SELECT TOP 1 [Current LSN] FROM fn_dblog(NULL, NULL))&lt;br&gt;PRINT @LSN&lt;br&gt;SET @stmt = 'SELECT CAST(0x' + SUBSTRING(@LSN, 1, 8) + ' AS INT)'&lt;br&gt;INSERT @tbl EXEC(@stmt)&lt;br&gt;SET @stmt = 'SELECT CAST(0x' + SUBSTRING(@LSN, 10, 8) + ' AS INT)'&lt;br&gt;INSERT @tbl EXEC(@stmt)&lt;br&gt;SET @stmt = 'SELECT CAST(0x' + SUBSTRING(@LSN, 19, 4) + ' AS INT)'&lt;br&gt;INSERT @tbl EXEC(@stmt)&lt;br&gt;SET @LSN_HEX =&lt;br&gt;(SELECT i FROM @tbl WHERE id = 1) + ':' + (SELECT i FROM @tbl WHERE id = 2) + ':' + (SELECT i FROM @tbl WHERE id = 3)&lt;br&gt;PRINT @LSN_HEX&lt;br&gt;SELECT *&lt;br&gt;FROM ::fn_dblog(@LSN_HEX, NULL)&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Okay, but how can i know the details of other columns?&lt;/font&gt;  &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Its a series of PAIN....&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+SQL+Server+2005+%3a%3a+Transaction+Log+-+2&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!178.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!178.entry</guid><pubDate>Wed, 17 Jan 2007 12:07:08 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!178/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!178.entry#comment</wfw:comment><dcterms:modified>2007-01-18T11:32:01Z</dcterms:modified></item><item><title>SQL Server Transaction Log Accessing</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!177.entry</link><description>&lt;p&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Last week, I've received a problem from my internal team to find out a way to logg all CRUD (Create, Read, Update and Delete) transactions happened in a SQL Server database using transaction log file.  They have analysed and did some analysis on other options like SSIS, stored procedure replication in OLTP, etc.  But they want to know in transaction log file.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I've taken this and was searching that is there any APIs to access transaction log. After a while, I found that SQL Server does not provide any API to access transaction log. Instead, we can use DBCC LOG commands to access transaction log. &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Though, The DBCC LOG is an undocumented command, I can read transaction log, but the information are in either enumerated or Hex format. And there is not documentation found about the details displayed by DBCC LOG. &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;And one of the major drawback is that transaction log does not keeps to log SELECT queries.  &lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;I found number of third party utilities who used transaction log to fetch the information and display them in user understandable format.&lt;/font&gt; &lt;p&gt;&lt;font face=Tahoma color="#000000" size=2&gt;Still I'm searching and analysing the same, but I cannot find a result.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+SQL+Server+Transaction+Log+Accessing&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!177.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!177.entry</guid><pubDate>Wed, 17 Jan 2007 08:24:28 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!177/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!177.entry#comment</wfw:comment><dcterms:modified>2007-01-17T08:25:37Z</dcterms:modified></item><item><title>The Layman's View of Software Factory - 2</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!176.entry</link><description>&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;How can we define the term Industry? &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;In general, other industries receive the resources from upstream suppliers. Using the product line tools or machines, they automate the production. Finally, they distribute products across supply chains of highly supplied and interdependent suppliers. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;As in the above paragraph, we (the software industry) are doing the same thing, then how do the other people differ from us? &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;In the above paragraph, look at the following terms: &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;· Resources from upstream suppliers. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;· Product line tools. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;· Automation of production. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;We slightly differ from other industries to do the above tasks. Let us understand the nuances of the above terms: &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;&lt;strong&gt;Resources from upstream suppliers:&lt;/strong&gt; &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;All successful industries are working in modular and scale-up manner. For example, the automobile industries purchased their resources for their automobile from upstream suppliers. The resources are produced based on the industry standard and it is directly used into the production without performing any modification. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Software industry also well matured in platform based approach. You can purchase any third party .NET WinForm controls and you can directly integrate into your application. It is very uncommon to meet compatibility issues. But we are more dependants on platform components. We do not have any universal standard in most parts unlike in services oriented middleware. Now only XML Web Services have matured to some extent and are interoperable with other platform components with the great advent of XML. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;&lt;strong&gt;Product line tools &lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Every product (eg. Indica, Sumo) in a product family (eg. Tata Motors) share common features across the members in the product family (eg. transmission and drivetrain components). And every product differs from others by its unique features. Industries approach these features by using product line tools. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;The common features are implemented and kept as a core asset for product development. New product can be produced by assembling existing core assets and implement of unique features. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Our industry does not use any standard mechanism of developing product line tools and their usage. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;&lt;strong&gt;Automation of production &lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;To be honest, how many of us used internally developed automated tools in our product development. Yep, some of us have automated tools for generating objects for a relation database. Some of us may have used them to generate standard UI. But how do we use the automated tools through SDLC is a matter of concern in the software factory arena. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Okay, then what is Software Factory? &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Simply put, “Economies of reuse” is the basic slogan of software factory. In a given domain, reusing solutions to common sub problems is called economies of reuse. It reduces total cost of solving multiple problems in the given domain. Let’s take automobile industry, after the designing of a car model, a bulk of cars can be produced in the production phase. Unlike this, in our industry, after the design, a system has been developed. The number of cars produced in production phase will also affects the cost of production. But in our industry, the number of copy of the same application does not affect the cost of production (just a cost of CD/download time). This is where our industry differs from others. So, the production phase in other industry naively compared with the development process in our industry. &lt;/font&gt;
&lt;p&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;I’ll explain this concept in detail in the next article.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+The+Layman's+View+of+Software+Factory+-+2&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Software Factory</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!176.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!176.entry</guid><pubDate>Tue, 16 Jan 2007 05:14:16 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!176/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!176.entry#comment</wfw:comment><dcterms:modified>2007-01-16T05:16:32Z</dcterms:modified></item><item><title>User Group for Indian Software Factory user</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!174.entry</link><description>&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Hi, I've created a fresh group for Software Factory users from India.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000"&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;&lt;font color="#000000"&gt;&lt;font size=2&gt;Name of the group: IndiaSoftwareFactoryGroup&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000"&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;URL: &lt;/font&gt;&lt;a href="http://groups.msn.com/IndiaSoftwareFactoryGroup"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;http://groups.msn.com/IndiaSoftwareFactoryGroup&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000"&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Email: &lt;/font&gt;&lt;a href="mailto:IndiaSoftwareFactoryGroup@groups.msn.com"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;IndiaSoftwareFactoryGroup@groups.msn.com&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000"&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" color="#000000" size=2&gt;Logon and enter your impacts.!&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+User+Group+for+Indian+Software+Factory+user&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Announcement</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!174.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!174.entry</guid><pubDate>Tue, 02 Jan 2007 10:33:40 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!174/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!174.entry#comment</wfw:comment><dcterms:modified>2007-01-02T10:35:20Z</dcterms:modified></item><item><title>Part I: The Layman’s View of Software Factory - 1</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!173.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;Last week I’ve given a presentation about Software Factories to my team.&lt;span&gt;  &lt;/span&gt;The presentation went well with lot of hot discussion.&lt;span&gt;  &lt;/span&gt;I’ve started presentation with the following quote by Peter Wegner: &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;i&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;“Software products are in some respects like tangible products of conventional engineering disciplines such as bridges, buildings, and computers.&lt;span&gt;  &lt;/span&gt;But there are also certain important differences that give software development a unique flavor.”&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;Apart from that I would like to contribute software factory movement.&lt;span&gt;  &lt;/span&gt;In this blog I would like to explain all about software factory. Okay, before going to use or implement applications using software factories, in first series, I would like to explain some theoretical concepts behind Software Factory.&lt;span&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;We all believe that software industry is well-matured and we have successful development lifecycle methodology in our hands to develop a successful projects or products.&lt;span&gt;  &lt;/span&gt;But, how many of us know that only 16% of the projects are developed on schedule and within budget.&lt;span&gt;  &lt;/span&gt;31% are cancelled and 53% exceed their budgets.&lt;span&gt;  &lt;/span&gt;As of our experience, we all know that we are releasing a project with spending lot of day and nights in front of our machine and delivered the project with more pain.&lt;span&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;Are we working in right way?&lt;span&gt;  &lt;/span&gt;Is our industry always like this?&lt;span&gt;  &lt;/span&gt;Are our processes or methodologies standard and matured enough?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;Simply we can say only “No” or “May be..”.&lt;span&gt;  &lt;/span&gt;What is the problem with us?&lt;span&gt;  &lt;/span&gt;If we are not mature, then at least we should learn from other successful industries.&lt;span&gt;  &lt;/span&gt;But the big bottleneck is that we cannot follow the other industries, because ours is entirely different than the tangible production industries such as automobile or construction industry.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;Our industry gurus invented lot of methodologies and tools over last ten years such object orientation approach, design tools, etc.&lt;span&gt;  &lt;/span&gt;But we are not smart like other industry.&lt;span&gt;  &lt;/span&gt;They do not spend/waste their time to re-invent the same wheel.&lt;span&gt;  &lt;/span&gt;Everything is standard, standard and well automated.&lt;span&gt;  &lt;/span&gt;Then what actually we need to say loudly “Software Factory” or “Industrial Approach for Software Development”.&lt;span&gt;  &lt;/span&gt;In this blog, I’m going to write series of articles about Software Factory.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font face=Tahoma color="#000000" size=2&gt;In the first part, I'm planned to provide basic details about software factory in a layman's view.&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif"&gt;So, please Hold On….!&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Part+I%3a+The+Layman%e2%80%99s+View+of+Software+Factory+-+1&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Software Factory</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!173.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!173.entry</guid><pubDate>Fri, 29 Dec 2006 05:25:25 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!173/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!173.entry#comment</wfw:comment><dcterms:modified>2006-12-29T05:30:01Z</dcterms:modified></item><item><title>IT Buzzwords and IT People - An article from SearchWinIT.com</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!169.entry</link><description>&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Today mornining I've read this much interesting article.&lt;br&gt;Yep, we all know the following buzzwords in our company or other software companies when they want to showcase their technology products or solutions.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;User Experience / rich user experience.&lt;/font&gt;
&lt;li&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Architect&lt;/font&gt;
&lt;li&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Best practices&lt;/font&gt;
&lt;li&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Compliance&lt;/font&gt;
&lt;li&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Industry Leading&lt;br&gt;&lt;/font&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;and more...&lt;/font&gt;&lt;/ul&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Yes i'm also much tensed with above buzzwords.  Let the term &amp;quot;Architect&amp;quot;.  IT companies misused this term as like politicians get doctrate honour in so and so university.  The roles and responsibilities defined for an architect in one company is different in another company.  And most of us do not know the difference between architect/designer/solution architect/technical architect.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;And the word from John Pescatore, a security analyst at Gartner Inc. is really true:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;&lt;em&gt;&amp;quot;Holistic really means imaginary and heuristic means undocumented,&amp;quot; Pescatore said. &amp;quot;And there are broader, overused terms such as fill in the blank as a service and the overused industry leading,&amp;quot; he said.&lt;/em&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;Read full story at &lt;/font&gt;&lt;a href="http://snipurl.com/KillITBuzzwords"&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;SearchWinIT.com &lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma,Helvetica,Sans-Serif" size=2&gt;by Eileen Kennedy, News Writer.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+IT+Buzzwords+and+IT+People+-+An+article+from+SearchWinIT.com&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Computers and Internet</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!169.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!169.entry</guid><pubDate>Thu, 28 Dec 2006 06:58:16 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!169/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!169.entry#comment</wfw:comment><dcterms:modified>2006-12-28T07:10:33Z</dcterms:modified></item><item><title>Industrialization of Software Development</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!157.entry</link><description>&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Last 1.5 years, i'm involving in Industrialization of software development.  Whenever, taking new project, i feel the immaturity of industrialziation capability of software development.  The most favoured industry in the world is of course, &amp;quot;Auto Mobile&amp;quot;.  It has everything (everything means standards, procedures, etc) for sucessful manufacturing of a product.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;In mid 2005, I've read the Greenfield's Software Factory book over 2 months and feel very proud of that iniation.  (Note: At that time, Microsoft did not release VS2005).  But i've missed lot to share/acquire information about Software Factory with bloggieans.  &lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;So, anybody wants to share something?   warm welcome.. only about Software Factory and Agile methodologies.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;c..u soon&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;img src="http://udooz.spaces.live.com/mmm2006-09-13_01.00/rte/emoticons/music_note.gif"&gt;&lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://byfiles.storage.live.com&amp;#47;y1pa6CRV4acbbB4JCcYZ_QkkisV1OrecK7vM_h1pGtqnH8kNWcCvnZIvilkEJbXZO7M"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;1EA86C1FB1C134B8&amp;#33;158&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Industrialization+of+Software+Development&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>Technology</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!157.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!157.entry</guid><pubDate>Fri, 20 Oct 2006 11:52:16 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!157/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!157.entry#comment</wfw:comment><dcterms:modified>2006-10-20T11:57:28Z</dcterms:modified></item><item><title>A war between Team Foundation API and me - Part II</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!146.entry</link><description>&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Hi!&lt;/font&gt;&lt;/div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;
&lt;div&gt;&lt;br&gt;&lt;font face="Garamond, Times, Serif"&gt;Finally, i've concluded that instead of WSS, it is better to use Microsoft Visual Studio Team Foundation Server API in our application.  TFS might decrease our application's features localization, but it will reduce my headache.  It is actually built on top of WSS.  So we can enjoy the share point services with luxury of TFS.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif"&gt;Okay! let me write some sample applications to test the TFS APIs before the production code.  I've got the following dlls from Visual Studio 2005 SDK.  You can download VS2005 SDK from &lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;a href="http://www.vsipdev.com/downloads"&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;http://www.vsipdev.com/downloads&lt;/font&gt;&lt;/a&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;font face="Garamond, Times, Serif"&gt;.&lt;br&gt;&lt;/font&gt;&lt;/font&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;At the time of downloading, Microsoft released VS2005 SDK Feb 2005 CTP.  So, i've downloaded the SDK and installed it on my machine.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;strong&gt;VS2005 SDK Feb 2006 CTP:&lt;/strong&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;After the installation, i navigated to Visual Studio 2005 SDK &amp;gt; 2006.02 &amp;gt; Visual Studio Team System Integration from my Program Folder Menu.  It has some samples and documentation for VSTS Integration.  Really i hate the documentation which is in Word document and unable to see the ever green Microsoft help style.  No explanations, code snippets for VSTS SDK.  &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;And i was shocked, because these documents does not help you to explore from where you can start to develop.  &lt;/font&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;One fine day, i ran Lutz Roder's .NET  Reflector and decompile the following TFS assemblies.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Microsoft.TeamFoundation version 8.0&lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Microsoft.TeamFoundation.Client version 8.0.&lt;/font&gt;&lt;/ul&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;In Microsoft.TeamFoundation, i found namespace Microsoft.TeamFoundation.Proxy.Portal which contains most of the basic APIs to create a project and work items on Team Foundation Server from your application.  (See Fig 1).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;br&gt;The classes and methods are self explanatory, so i've decided to use those assemblies.  But after a while, i was strucked when using this API.  I cannot understand most of the parameters for some basic functions.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Oh God! Now i am searching again for help...i got help for TFS Version Control APIs only.  After that, I found that microsoft released VS2005 SDK March 2006 CTP.  Still no more improvements from me. So guys! let me take some times.  I will meet on next issues with a solution.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;img src="http://spaces.msn.com/rte/emoticons/smile_angry.gif"&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+A+war+between+Team+Foundation+API+and+me+-+Part+II&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>DotNet</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!146.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!146.entry</guid><pubDate>Thu, 09 Mar 2006 15:16:37 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!146/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!146.entry#comment</wfw:comment><dcterms:modified>2006-03-09T15:19:23Z</dcterms:modified></item><item><title>A War Between SharePoint SDK and Me</title><link>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!145.entry</link><description>&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Currently, in our secondary activity, we are developing a web application which will automate our research prototypes lifecycle.  In these, there are numerous documents, codes and reviews are generated, so that we are planned to use WSPS (Windows SharePoint Services) SDK for document management in our portal.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Once again, we've no plan to use the ready made Share Point Portal Server, any way, that is not the solution for our portal.  Instead, we planned to use Windows SharePoint Services as like as Visual Studio Team Foundation Server uses WSPS.  &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;So, in our service agent component, i need to provide a solution to access Windows SharePoint Services from my business objects.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;I've confused to take a decision whether to provide service agent for black forest flavoured Team Foundation Foundation Server or venilla flavoured WSPS.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;font size=4&gt;&lt;strong&gt;Order one Venilla - Try to defeat this.&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;First i downloaded WSPS SDK from microsoft site.  I got bored to read full SDK documentation, so i googled some samples for WSPS in document management.  I'm unable to found one which is matched our requirement.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Garamond size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;font size=4&gt;&lt;strong&gt;Smell the black forest - Why can't we try.&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;So, i decided that TFS will be the mail life cycle, then why can't we try to manage TFS from our service agent.  I've collected some document about Team Foundation Server Object Model and read some blogs.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;Ohhh!! I want some pain-relief balm.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Garamond, Times, Serif" size=3&gt;So, guys! let me explain the remaing stories of my war with WSPS in the forethcoming articles.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+A+War+Between+SharePoint+SDK+and+Me&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><category>DotNet</category><comments>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!145.entry#comment</comments><guid isPermaLink="true">http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!145.entry</guid><pubDate>Wed, 22 Feb 2006 14:33:29 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://udooz.spaces.live.com/blog/cns!1EA86C1FB1C134B8!145/comments/feed.rss</wfw:commentRss><wfw:comment>http://udooz.spaces.live.com/Blog/cns!1EA86C1FB1C134B8!145.entry#comment</wfw:comment><dcterms:modified>2006-02-22T14:33:29Z</dcterms:modified></item><item><title>Book List: Book List</title><link>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!134</link><description>&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Andrew Trelson: C&amp;#35; and the .NET Platform&lt;/p&gt;&lt;p&gt;Nice book to read if your are new to .net 2.0&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apress.com"&gt;Peiris, Mulder: Pro WCF&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I was surprised that this book is from APress.  It started with a nice introduction of SOA and WCF.  After that, the authors try to satisfy both conceptual, API reference readers and professional reader. &amp;#10;Neither a reference nor a professional book.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://www.oreilly.com"&gt;Richardson &amp;#38; Ruby: RESTful Web Services&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This is the first book which covers REST very detail with limited examples and pictures.I&amp;#39;m really love to read this book the way they are explaining REST and the language taken for example &amp;#40;Ruby&amp;#41;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Raymond Chen: The Old New Thing&amp;#58;Practical Development Throughout the Evolution of Windows&lt;/p&gt;&lt;p&gt;Why does Windows designed in the way it does&amp;#63;Many of Windows&amp;#39; quirks have logical causes rooted in history.  Raymond Chen is in Windows Development Team&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Book+List%3a+Book+List&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><guid isPermaLink="false">cns!1EA86C1FB1C134B8!134</guid><pubDate>Mon, 14 Jan 2008 02:57:18 GMT</pubDate><msn:type>booklist</msn:type><live:type>booklist</live:type><live:typelabel>Book list</live:typelabel><cf:itemRSS>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!134/feed.rss</cf:itemRSS><dcterms:modified>2008-01-14T02:57:18Z</dcterms:modified></item><item><title>Custom List: Custom List</title><link>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!168</link><description>&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Ads&lt;p&gt;&lt;p&gt;&amp;#60;script type&amp;#61;&amp;#34;text&amp;#47;javascript&amp;#34;&amp;#62;&amp;#60;&amp;#33;--&amp;#10;  amazon_ad_tag &amp;#61; &amp;#34;udoozblog-20&amp;#34;&amp;#59;  amazon_ad_width &amp;#61; &amp;#34;120&amp;#34;&amp;#59;  amazon_ad_height &amp;#61; &amp;#34;240&amp;#34;&amp;#59;  amazon_ad_link_target &amp;#61; &amp;#34;new&amp;#34;&amp;#59;&amp;#47;&amp;#47;--&amp;#62;&amp;#60;&amp;#47;script&amp;#62;&amp;#10;&amp;#60;script type&amp;#61;&amp;#34;text&amp;#47;javascript&amp;#34; src&amp;#61;&amp;#34;http&amp;#58;&amp;#47;&amp;#47;www.assoc-amazon.com&amp;#47;s&amp;#47;ads.js&amp;#34;&amp;#62;&amp;#60;&amp;#47;script&amp;#62;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Custom+List%3a+Custom+List&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><guid isPermaLink="false">cns!1EA86C1FB1C134B8!168</guid><pubDate>Thu, 28 Dec 2006 07:27:22 GMT</pubDate><msn:type>list</msn:type><live:type>list</live:type><live:typelabel>List</live:typelabel><cf:itemRSS>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!168/feed.rss</cf:itemRSS><dcterms:modified>2006-12-28T07:27:22Z</dcterms:modified></item><item><title>Custom List: Spots</title><link>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!103</link><description>&lt;p&gt;Spots&lt;/p&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://snipurl.com&amp;#47;EncryptMobileData"&gt;Encrypting data in mobile devices&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This article really worried about why companies are not serious about to encrypt data in mobile devices mostly laptops.  Even 72&amp;#37; of IT People said that it is the best way.  Read the full story in the snipped URL.&amp;#10;Source&amp;#58;Shamus McGillicuddy, SearchSMB.com&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=2209134500607243448&amp;page=RSS%3a+Custom+List%3a+Spots&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=udooz.spaces.live.com&amp;amp;GT1=udooz"&gt;</description><guid isPermaLink="false">cns!1EA86C1FB1C134B8!103</guid><pubDate>Wed, 27 Dec 2006 13:03:38 GMT</pubDate><msn:type>list</msn:type><live:type>list</live:type><live:typelabel>List</live:typelabel><cf:itemRSS>http://udooz.spaces.live.com/Lists/cns!1EA86C1FB1C134B8!103/feed.rss</cf:itemRSS><dcterms:modified>2006-12-27T13:03:38Z</dcterms:modified></item></channel></rss>