<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3213764379816738334</id><updated>2012-01-10T23:06:57.776-08:00</updated><category term='WebServices'/><category term='RSS'/><category term='OOPS IN .Net'/><category term='CSS'/><category term='ASP.NET IQ'/><category term='.Net Remoting IQ'/><category term='SQL Server'/><category term='.Net Remoting'/><category term='AJAX'/><category term='XML'/><category term='C#.Net'/><category term='SQL IO'/><category term='JavaScript'/><category term='ASP.NET'/><title type='text'>dot net interview questions and answers</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default?start-index=101&amp;max-results=100'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>209</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-6895383257233072470</id><published>2010-02-08T22:19:00.000-08:00</published><updated>2010-02-08T22:20:59.134-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting IQ'/><title type='text'>.Net Remoting IQ-PART-1</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C04%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} span.paratitle1 	{mso-style-name:paratitle1;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define windows process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="paratitle1"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A process is an instance of a running application.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;Each process is allocated its own block of available RAM space.&lt;br /&gt;No process can access another process code or data.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.&lt;a name="more71"&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define channels in .NET Remoting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Channels represent the objects that transfer the other serialized objects from one application domain to another and from one computer to &lt;span class="apple-converted-space"&gt; &lt;/span&gt;another, as well as one process to another on the same box.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;A channel must exist before an object can be transferred.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What security means available for .NET Remoting in System.Runtime.Remoting?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;None. Security should be taken care of at the application level.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Cryptography and other security techniques can be applied at application or server level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is a formatter in .Net Remoting?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A formatter is an object that is responsible for encoding and serializing data into messages on one end, and deserializing and decoding messages into data on the other end.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET Remoting and Web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Use remoting for more efficient exchange of information when you control both ends of the application.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Use Web services for open-protocol-based information exchange when you are just a client or a server with  the other end belonging to someone &lt;span class="apple-converted-space"&gt; &lt;/span&gt;else.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Name the distributed systems available apart from .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Distributed Computing Environment/Remote Procedure Calls (DEC/RPC),&lt;br /&gt;Microsoft Distributed Component Object Model (DCOM),&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Common Object Request Broker Architecture (CORBA), and&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Java Remote Method Invocation (RMI).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;How do you implement distributed applications in .NET?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET Remoting and ASP.NET Web Services.&lt;br /&gt;Classes for the same are in System.Runtime.Remoting and System.Web.Services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define proxy in .NET Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Its a fake copy of the server object that resides on the client side and behaves as if it was the server.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;It handles the communication between real server object and the client object.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;This process is also known as&lt;span class="apple-converted-space"&gt; &lt;/span&gt;marshaling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define remotable objects in .NET Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Remotable objects are the objects that can be marshaled across the application domains.&lt;br /&gt;You can marshal by value, where a copy of the object is created and then passed to the receiver.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;You can also marshal by reference, where just a reference to an existing object is passed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define SingleCall activation mode in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;If the server object is instantiated for responding to just one single request, the request should be made in SingleCall mode.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define Singleton activation mode in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A single object is instantiated regardless of the number of clients accessing it.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Lifetime of this object is determined by lifetime lease.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define the lease of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;By implementing ILease interface when writing the class code. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET Remoting versus Distributed COM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET Remoting is the successor of DCOM. Microsoft DCOM is a solution for distributed object and very good in terms of performance when components are in the same network. But its drawbacks in the internet connected world are visible. It uses proprietary binary protocol which is not supported by other object models, thus can't support interoperability across platform.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;.NET Remoting uses TCP or HTTP protocol that is supported by most of the object models. This allows .NET Remoting to be adaptable to the network environment in which it is being used. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Advantage of Remoting over Web Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET Remoting allows objects to interact that can be hosted in different application domain within the same process or different process. The objects can also interact over intranet or internet. It supports many different protocols unlike Web Services that works over SOAP/HTTP protocol. .Net Remoting can work on TCP protocol that provides speed benefit from its counterpart.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Being tied up with IIS, .Net Web service can only work with producer /consumer model whereas .Net Remoting can share objects from any type of application. .Net Remoting being part of .Net Framework support full .Net type system and can expose any object to the client. .Net Web Service supports on those types that can be expressed with XSD.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;When should we choose .Net Remoting over .Net Web Services? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting provides distributed solution for a corporate use. So, if you need distributed environment to be implemented for internal use, .Net remoting is the best choice.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;If you require a faster distributed solution, .Net Remoting with TCP protocal using binary format is faster than Web services. .Net Remoting is better solution when large transfer of data is required. Web Services provide an open-protocol-based exchange of information. Web Services are best when you need to communicate with an external organization or non .NET technology.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the ways to configure Remoting objects before client can use them?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;There are two ways that the remoting objects can be configured. They can be configured by calling configuration methods inside the application. .Net Framework allows configuring objects also by adding configuration section in the application configuration file or machine.config file. Application-level XML settings take precedence over machine.config. When you apply any change in the configuration section, you don’t need to recompile the code. On the other hand, any change in the setting applied programmatically would require recompiling the code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define Delegates.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A delegate acts like a strongly type function pointer. Delegates can invoke the methods that they reference without making explicit calls to those methods. It is type safe since it holds reference of only those methods that match its signature. Unlike other classes, the delegate class has a signature. Delegates are used to implement event programming model in .NET application. Delegates enable the methods that listen for an event, to be abstract.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define Events.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Events are one of the members of the class. When any noteworthy activity occurs in the application, an event is raised which sends out the message to the other part of the application which handles the event. The event can carry arguments that contain information about the event. The method which handles the event must have the same signature as the event itself. Events are commonly used in the applications with graphical user interface elements such as buttons, textbox etc. An event is triggered when any action such as mouse click occurred in the interface element. The event-based programming model can be used in the non-GUI applications such as .NET Remoting application. An event in remoting.net occurs when the state of the application changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-6895383257233072470?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/6895383257233072470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-iq-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6895383257233072470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6895383257233072470'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-iq-part-1.html' title='.Net Remoting IQ-PART-1'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-6061300102527669770</id><published>2010-02-08T22:17:00.003-08:00</published><updated>2010-02-08T22:20:59.135-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting IQ'/><title type='text'>.Net Remoting IQ-PART-2</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C05%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is asynchronous programming?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting supports asynchronous programming. In this model, a call is made to a class method while the calling program continues to execute. This increase application speed as the application continues to execute without waiting for the called methods to finish execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;When do we use delegates in your remoting applications?   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;You use delegates to implement callback functions, event programming, and asynchronous programming in your remoting applications. Events use delegates to enable callback functions to the client in remoting applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the ways to renew lifetime leases of objects?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A client can renew the lifetime lease of an object by calling the ILease.Renew method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the types of remotable objects?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The two types of remotable objects are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-value objects -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;These objects are copied and passed by value out of the application domain. When client calls a method on marshal-by-value-object, the remoting system creates a copy of this object and passes the copy to the client application domain. The copy hence received can handle any method call in client domain. Using Marshal-by-value-object reduces resource consuming trip across network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-reference objects -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The clients that use these objects need a proxy to access the object remotely. When client calls a method on Marshal by reference object, the remoting system create proxy object in the caller application that contains the reference of all method and properties of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the Security features in .Net Remoting.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting is integral part of .Net Framework, so it has access to all security features of Framework. If remoting objects are hosted using IIS, it leverages the entire authentication and authorization features that are available to Web based protocols. If hosted other than HTTP protocols over IIS, then you have the opportunity to create your own security infrastructure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the information required to configure remote objects?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Following information to be provide to configure remote object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Activation type for the remote object&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Channels&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;URL of the remote object&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Type metadata of the remote object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain Serialization Formatters in .NET Remoting.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In .Net Remoting, the objects are shared over distributed network. The objects are transmitted in serialized form. The objects are first serialized into message data before it is sent with the wire. On the other end of the wire, this serialized data is read and desterilized back to the actual object. This process of converting objects into message data is done by serialization formatters. .Net Remoting supports two formatters.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;SOAP Formatter&lt;br /&gt;Binary Formatter&lt;br /&gt;SOAP Formatter converts objects into XML string whereas Binary Formatter converts an object's state into a binary stream. The binary serialization formatter is slightly faster.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the requirements to enable remote components to interact each other?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To enable communication between objects across remoting boundaries, you need to have&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;A server object to expose service&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;A client that calls server object to consume service&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;A message transmission protocol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Steps to publish an object outside the service domain.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To publish a service outside the service domain, you need to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Identify the application domain that will host the service.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Identify the activation model: server activation or client activation.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Identify and create a channel and a port.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Identify how the client application obtains the metadata information about the service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define Client Activated Objects (CAO).  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Client-activated objects are objects whose lifetimes are controlled by the client, i.e. calling application domain. This mode works in similar fashion to the model where object is local to the client and referenced object's lifetime is controlled by the calling object. When instance of server object is created, object reference is obtained in the form of proxy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In COM model, clients hold an object in memory by holding a reference to it. The object is released from the memory when the entire client releases the reference. But in .Net Remoting, client-activated objects use lifetime leases to determine how long they should continue to exist. When a client creates a remote object, it can specify a default length of time that the object should exist. If the remote object reaches its default lifetime limit, it contacts the client to ask whether it should continue to exist, and if so, for how much longer. If the client is not currently available, a default time is also specified for how long the server object should wait while trying to contact the client before marking itself for garbage collection. The client might even request an indefinite default lifetime. Client-activated instances serve only the client and the reference that was responsible for their creation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To create an instance of a client-activated type, clients either configure their application programmatically or using a configuration file and call new, or they pass the remote object's configuration in a call to Activator.CreateInstance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain Marshalling and its types in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Objects can't be transmitted as such over communication channel. The objects are packed into message buffer before transmitted. This process is called marshalling. There are two different ways to Marshal objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal by Value: Server creates copy of the remoting object's state and passes it to the client. You need to implement your classes to have marshal by value features either by implementing ISerializable interface or using&lt;span class="apple-converted-space"&gt; &lt;/span&gt;attribute. Here you need to copy whole object to the client which means with large size object, the communication overhead is significant.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal by Reference: In this type proxy is created by the reference of the server objects. Class must extend the System.MarshalByRefObject to implement marshal by reference. Here, client keeps server object reference which means round trip to server with each method call.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Summary of .Net Remoting &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net enables interaction between applications over distributed network. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To develop a Remoting application, you need to create client and server objects. You need to activate the objects and use reference of the server objects in client to communicate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Channels allow application to send and receive messages using protocal like TCP or HTTP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;You can use delegates in Remoting application to implement event based programming and asynchronous programming.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Asynchronous programming in Remoting application helps to calls remote methods while client continues to execute other local method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To host remote object, server needs some information about the objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The information can be provided programmatically in the code or can be loaded from configuration section of application configuration file or machine.config file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Being part of .Net Framework, .Net Remoting can implement role based security. Moreover, it can leverage all security features of ASP.NET, if it hosted in ASP.NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is .Net Remoting?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;enables communication between applications across separate domains or networks. .Net objects are exposed to remote processes to have interprocess communication. With remoting, we can use TCP or HTTP communications protocols on any port. We can use text or binary formatting.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;.Net Remoting&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;supports server activated (single call and singleton) as well as client activated objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Describe the .Net Remoting Architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoing&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;allows communication between server and client objects. To facilitate this, when new instance of remote object is created in the client application, the client receives reference (called proxy) to the server object. This proxy object contains references to all the methods and properties of the server object. When the client object calls any method (the call actually on proxy object), which resolves the references and invokes server object, receives the result and pass on to the client application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the remotable and non-remotable objects in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The remotable objects are the objects which can be distributed accross domains, can be used with domain. The non-remotable objects are the objects which can't be distributed accross domains. In distributed system, if an object is very big, we can make it non-remotable object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Describe the type of remotable objects in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-value-objects&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;- When client calls a method on marshal-by-value-object, the remoting system creates a copy of this object and passes the copy to the client application domain. The copy hence received can handle any method call in client domain. Using Marshal-by-value-object reduces resource consuming trip across network.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;Marshal-by-reference-object&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;- When client calls a method on Marshal by reference object, the remoting system create proxy object in the caller application that contains the reference of all method and properties of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-6061300102527669770?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/6061300102527669770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-iq-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6061300102527669770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6061300102527669770'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-iq-part-2.html' title='.Net Remoting IQ-PART-2'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-5393085368487637482</id><published>2010-02-08T22:17:00.002-08:00</published><updated>2010-02-08T22:21:19.389-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C03%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:566041300; 	mso-list-template-ids:692898650;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l0:level1 lfo1 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services are more      restricted than objects exposed over .NET Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services support open      standards that target cross-platform use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services are generally      easier to create and due to the restricted nature of XML Web services, the      design issues are simplified.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services support only      SOAP message formatting, which uses larger XML text messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Communication with .NET      Remoting can be faster than XML Web service communication with a binary      formatter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services are designed      for use between companies and organizations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;XML Web services don't require      a dedicated hosting program because they are always hosted by ASP.NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Consumers can use XML Web      services just as easily as they can download HTML pages from the Internet.      Thus there's no need for an administrator to open additional ports on a      firewall as they work through MS-IIS and ASP.NE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-5393085368487637482?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/5393085368487637482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-difference-between-xml-web_08.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5393085368487637482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5393085368487637482'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-difference-between-xml-web_08.html' title='What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-8385458853504144017</id><published>2010-02-08T22:17:00.001-08:00</published><updated>2010-02-08T22:21:19.389-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>Remoting.Net vs Web Services</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Both .Net Web services and .Net Remoting are Microsoft solutions for distributed application. Before choosing one of them for application development, let’s identify the differences between these technologies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Protocol&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;.Net web services can be accessed only over HTTP whereas .Net remoting can be accessed over any protocol including TCP, HTTP, or SMTP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Performance&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In terms of performance, .Net remoting is faster than its counterpart web service when it uses TCP channel with binary formatter. But if you use soap formatter in .net remoting, web services with soap formatter either with TCP or HTTP channel provides faster solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Security&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;.NET Remoting can be hosted either in IIS or in other container. If hosted in IIS, .NET Remoting can benefit all security advantages of IIS. But when hosted other than IIS, the application has to take care security aspect itself.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;On the other hand, .Net web services are hosted in IIS, by default. So, it leverages all features of security provided by IIS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;State Management&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services are a stateless in nature like web application. You need to use state mechanism to retain state. You can use session or application object to maintain state. In .Net Remoting, Singleton objects can share state whereas if you don’t need to maintain state, you can use Singlecall objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Interoperability&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;Web services support heterogeneous environments which means client and remote object can be built in any platform.&lt;br /&gt;.NET remoting requires the client be built using .NET, enforcing homogenous environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Reliability&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Since .Net web services are hosted using IIS, they are reliable whereas .Net remoting application needs to maintain security on its own if not hosted using IIS. When hosted in IIS, .Net remoting is also as reliable as web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Ease of development&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Create and consuming .Net web services are easier process. To create remoting object, you need create remote object, hosting application to host remoting object and configuration file to specify type of channel and formatter to be used by remoting object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-8385458853504144017?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/8385458853504144017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/remotingnet-vs-web-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8385458853504144017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8385458853504144017'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/remotingnet-vs-web-services.html' title='Remoting.Net vs Web Services'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-8553333051529052639</id><published>2010-02-08T22:16:00.002-08:00</published><updated>2010-02-08T22:21:19.390-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>Asynchronous Programming in remoting Application</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C24%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h2 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	mso-outline-level:2; 	font-size:18.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting supports asynchronous programming. In this model, a call is made to a class method while the calling program continues to execute. This increases application speed as the application continues to execute without waiting for the called methods to finish execution. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Asynchronous Programming in remoting Application &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;There are two ways that the remoting objects can be configured. They can be configured by calling configuration methods inside the application. .Net Framework allows configuring objects also by adding configuration section in the application configuration file.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;When you apply any change in the configuration section, you don’t need to recompile the code. On the other hand, any change in the setting applied programmatically would require recompiling the code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Remoting system requires certain information about remote objects to be hosted which are as follows&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Activation type&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Channels&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;URL of the remote object&lt;br /&gt;Type metadata&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Framework provides RemotingConfiguration class in the System.Runtime.Remoting namespace that allows configuring object programmatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In .Net, you can have configuration setting in the application configuration file or in the machine.config file. You can use RemotingConfiguration.Configure method to load the setting in the code, e.g.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;RemotingConfiguration.Configure("AppConfig.exe.config")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The configuration attributes in the XML configuration file of the application are below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;application&gt;&lt;br /&gt;This element contains the information about the remote objects.&lt;br /&gt;&lt;service&gt;&lt;br /&gt;This element contains the remote object.&lt;br /&gt;&lt;wellknown&gt;&lt;br /&gt;This element has three attribute such as mode, type, and objectUri. Mode can be Singleton or SingleCall. Type is the name of the assembly that contains type implementation. ObjectUri specifies the endpoint for the URI of an object.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;activated&gt;&lt;br /&gt;This element contains information about the client-activated objects that are exposed by the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-8553333051529052639?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/8553333051529052639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/asynchronous-programming-in-remoting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8553333051529052639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8553333051529052639'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/asynchronous-programming-in-remoting.html' title='Asynchronous Programming in remoting Application'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-843799964215840899</id><published>2010-02-08T22:16:00.001-08:00</published><updated>2010-02-08T22:21:19.390-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>Events and Delegates in Remoting Applications</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C22%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Events&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;are one of the members of the class. When any noteworthy activity occurs in the application, an event is raised which sends out the message to the other part of the application which handles the event. The event can carry arguments that contain information about the event. The method which handles the event must have the same signature as the event itself. Events are commonly used in the applications with graphical user interface elements such as buttons, textbox etc. An event is triggered when any action such as mouse click occurred in the interface element. The event-based programming model can be used in the non-GUI applications such as .NET Remoting application. An event in remoting.net occurs when the state of the application changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;delegate&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;acts like a strongly type function pointer. Delegates can invoke the methods that they reference without making explicit calls to those methods. It is type safe since it holds reference of only those methods that match its signature. Unlike other classes, the delegate class has a signature. Delegates are used to implement event programming model in .NET application. Delegates enable the methods that listen for an event, to be abstract.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Steps to implement delegate to listen for events in the remoting application&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define a delegate that wraps an event handler method to handle the event.&lt;br /&gt;Implement a class that raises the event.&lt;br /&gt;Implement class that handles the event&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-843799964215840899?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/843799964215840899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/events-and-delegates-in-remoting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/843799964215840899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/843799964215840899'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/events-and-delegates-in-remoting.html' title='Events and Delegates in Remoting Applications'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-8293408422783093794</id><published>2010-02-08T22:15:00.001-08:00</published><updated>2010-02-08T22:21:19.390-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>.Net Remoting Channels</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C20%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Channels are the objects that remote objects use to communicate with each other. It allows applications to send and receive messages using protocols such as TCP and HTTP. It is a message carrier that converts the message in either as XML or binary format before sending message across boundary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In .Net Framework, channel's classes and interfaces are included in System.Runtime.Remotig.Channels namespace. A channel needs to be registered to the remoting system infrastructure both at client and server side before it receives or send data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Based on the protocol used by the channel, you have&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;HTTPChannel&lt;br /&gt;TCPChannel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;HTTPChannel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Framework provides System.Runtime.Remoting.Channels.http namespace that provides classes to use HTTPChannel. You can use HTTPChannel when interoperability is the main issue. HTTPChannel uses SOAPformatter to serialize messages into XML format before sending messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;TCPChannel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Framework provides System.Runtime.Remoting.Channels.tcp namespace that provides classes to use TCPChannel. This kind of channel is used when performance is main issue. TCPChannel uses BinaryFormatter to serialize messages into binary stream before sending messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-8293408422783093794?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/8293408422783093794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-channels.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8293408422783093794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8293408422783093794'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-channels.html' title='.Net Remoting Channels'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-6051964291578980225</id><published>2010-02-08T22:13:00.000-08:00</published><updated>2010-02-08T22:21:19.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>.Net Remoting Overview</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C16%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Distributed application is a set of components distributed across network and work as if all the components are there on the same computer. These components based technologies can be developed using DCOM, CORBA, RMI etc. These technologies are good for intranet environment.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft has provided suitable framework for developing distributed application through .Net Remoting and Web Services. Remoting.net allows components to interact across application domains, processes, and machine boundaries. It enables your applications to take advantage of remote resources in a networked environment.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Web Services are best suited when clients outside the firewall calling components on the server over the Internet.&lt;br /&gt;&lt;br /&gt;Remoting.Net is the best solution when clients and components are inside the firewall. It requires the client to be built using .NET which means it can’t work in heterogeneous environments.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.Net Remoting uses channels (HTTP and TCP channels) to transport messages to and from remotable objects. The HTTP channel uses the SOAP protocol to transport messages which means all messages are serialized to XML. The TCP channel uses a binary stream to transport the messages.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.Net Remoting supports two activation modes: Singleton and SingleCall. Singleton mode allows only one instance of an object at any time which means all requests are serviced by the single instance. You can maintain state across each request using this mode. SingleCall Mode creates a new instance of the object for each client request and are stateless.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.NET Remoting when hosted with IIS, can use all the security features of ASP.NET. But you need to implement your own security features for the application if channel is hosted in the process other than aspnet_wp.exe.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-6051964291578980225?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/6051964291578980225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6051964291578980225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6051964291578980225'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/net-remoting-overview.html' title='.Net Remoting Overview'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4301917456911387352</id><published>2010-02-08T22:12:00.000-08:00</published><updated>2010-02-08T22:21:19.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>What is .Net Remoting?</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C14%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;enables communication between applications across separate domains or networks. .Net objects are exposed to remote processes to have interprocess communication. With remoting, we can use TCP or HTTP communications protocols on any port. We can use text or binary formatting.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;.Net Remoting&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;supports server activated (single call and singleton) as well as client activated objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Describe the .Net Remoting Architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoing&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;allows communication between server and client objects. To facilitate this, when new instance of remote object is created in the client application, the client receives reference (called proxy) to the server object. This proxy object contains references to all the methods and properties of the server object. When the client object calls any method (the call actually on proxy object), which resolves the references and invokes server object, receives the result and pass on to the client application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the remotable and non-remotable objects in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The remotable objects are the objects which can be distributed accross domains, can be used with domain. The non-remotable objects are the objects which can't be distributed accross domains. In distributed system, if an object is very big, we can make it non-remotable object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Describe the type of remotable objects in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-value-objects&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;- When client calls a method on marshal-by-value-object, the remoting system creates a copy of this object and passes the copy to the client application domain. The copy hence received can handle any method call in client domain. Using Marshal-by-value-object reduces resource consuming trip across network.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;Marshal-by-reference-object&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;- When client calls a method on Marshal by reference object, the remoting system create proxy object in the caller application that contains the reference of all method and properties of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the types of activation modes in .Net remoting?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Server Activation Mode:&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In this mode, objects are created on the server when we call a method in the server class and not when we create instance using new. In this type of scenario, the client is always connected with server but the services are activated only when we call the method of the server class. We can create server activated object as a Singleton or SingleCall object. If we create server object as singleton, a single instance will manage all the clients. If we create server object as singlecall, the remoting system creates object each time a client method invokes a remote object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Client Activation Mode:&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;This object gets created when we create instance using new keyword. In this mode, client application domain defines the lifetimes of client activated objects. The client domain defines the lifetimes of client-activated objects. They use lifetime leases to determine the duration of their existence and after the lifetime expires, the object is marked for GC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Describe the term Channel in .Net Remoting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Arial;"&gt;.Net Remoting&lt;/span&gt;&lt;/strong&gt;, an application use Channel to send message to another application which is runing in different domain or process. Before sending message, Channel converts message into appropriate format like XML or binary format. The channel that carries message(Mashalled parameter) can use protocal like TCP and HTTP. Channel can be HTTPChannel and TCPChannel. The HTTPChannel use soapFormatter to serialize messages into the XML format using SOAP protocal. Using SOAP method allows the client to call method on the remote object that might not be using .Net framework. The TCPChannel use binaryFormatter to serialize message into binary stream.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4301917456911387352?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4301917456911387352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-net-remoting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4301917456911387352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4301917456911387352'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-net-remoting.html' title='What is .Net Remoting?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-3837428050748640895</id><published>2010-02-08T22:11:00.000-08:00</published><updated>2010-02-08T22:21:19.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Remoting'/><title type='text'>DCOM vs .Net Remoting</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C12%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} span.paratitle1 	{mso-style-name:paratitle1;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting is the successor of Distributed component object Model(DCOM). Both these technology are introduced by Microsoft that enable inter-process communication across application domains. DCOM was very successful technology. But it is never treated as best technology for inter-process communication because of lack of its support for interoperability across platform.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting is a new technology that ship with .Net Framework. It has all those features which are missing in DCOM. There are other pain involve with DCOM such as difficult to control format or channels, message trace is painful, change in configuration setting such as channels or port is not easy. DCOM is hard to learn and complicated to deploy and to maintain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Differences between these two technologies are as follows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DCOM technology is based on the COM architecture whereas .NET Remoting is primarily based on .NET Frameworks.&lt;br /&gt;&lt;br /&gt;DCOM is based on proprietary binary protocol which is not supported by all object model, thus has big drawbacks in the internet world.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DCOM is based on RPC protocol whereas .Net Remoting can use TCP or HTTP protocol which is stardard protocal in the market.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DCOM is not firewall friendly, can't choose port. .Net Remoting, on the other hand, works easily across firewalls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting supports cross platform communication which is not possible with DCOM (only for windows platform).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Components created DCOM involves complex deployment in windows registries whereas .Net Remoting involves easy deployment using either xml based configuration file or programmatically in the code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DCOM uses windows security features whereas .Net Remoting can use security features of IIS if hosted with ASP.NET. .Net Remoting, if hosted other than ASP worker process, allows to create own security mechanism for the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In DCOM, server is started by Service Control Manager (SCM) upon receiving the activation request from the client whereas in .Net Remoting, IIS is responsible to start server service. If not hosted with IIS then client request will fail if the Remoting server is not already started.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DCOM manages remote object lifetime by frequent pinging of clients whereas .Net Remoting has more efficient leasing mechanisms to maintain object lifetime.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define windows process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Answer -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="paratitle1"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A process is an instance of a running application.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;Each process is allocated its own block of available RAM space.&lt;br /&gt;No process can access another process code or data.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.&lt;a name="more71"&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-3837428050748640895?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/3837428050748640895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/dcom-vs-net-remoting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3837428050748640895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3837428050748640895'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/dcom-vs-net-remoting.html' title='DCOM vs .Net Remoting'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-7836539914170680482</id><published>2010-02-08T22:10:00.001-08:00</published><updated>2010-02-08T22:11:21.116-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><title type='text'>Advantages of .Net Web Services</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C10%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} h5 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	mso-outline-level:5; 	font-size:13.0pt; 	font-family:"Times New Roman"; 	font-weight:bold; 	font-style:italic;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:694430914; 	mso-list-template-ids:-1632991780;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l0:level1 lfo1 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web Services are supported on a wide range of platforms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services may extend its interface and add new methods without affecting the clients as long as they still provide the old methods and parameters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;A client makes a request to a      web service, the web service returns the result, and the connection is      closed. There is no permanent connection. This makes it easy to scale up      and support many clients at a time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Firewalls can pose a challenge      for distributed object technologies. The only thing that almost always      gets through firewalls is HTTP traffic on ports 80 and 443. Because web      services use HTTP, they can pass through firewalls without explicit      configuration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain in brief Web Service Standards.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Following are the standards used by web services:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;WSDL&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;WSDL is used to create interface definition for a web services. It describes all about methods to the client, i.e. methods available in a web service, their parameters and return values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;SOAP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;br /&gt;SOAP, Simple Object Access Protocol is a communication protocol, a way to structure data, based on XML. The web services use SOAP message format to encode information before sending.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;HTTP&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The SOAP message format in web services uses HTTP as communication protocol, i.e. SOAP messages are sent over HTTP channels. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DISCO&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;It is used to create discovery documents that provide links to multiple web service endpoints. The DISCO standard creates a single file that groups a list of related web services. A company can publish a DISCO file on its server that contains links to all the web services it provides. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;UDDI &lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A standard for creating business registries that catalog companies, the web services they provide, and the corresponding URLs for their WSDL contracts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Define the specifications that help in the discovery of a web service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;h5 style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DISCO&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;DISCO, an abbreviation of discovery, is a file that groups together a list of related web services. A company that offers web services publishes a DISCO file on its server that has links of all the web services it provides. The client requests this file to see all the available web services. This standard is useful when client already know about a company that offers web services. You can also use DISCO standard while working in local network. It is not helpful to find all web services over the internet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;UDDI&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;UDDI (Universal Description, Discovery, and Integration) offers centralized directory for web services over the internet. It hosts web services from different companies and can be used by the clients to find web services of their specific need. To make web services shared publicly, they have to be published in UDDI.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What are the data types supported by Web Services?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net web services are built on XML-based standards for exchanging data. This means .NET web services can support only those data types that can be recognized by the XML schema standard. There are many proprietary .Net objects such as FileSteam, Eventlog etc. are not supported in the web services. These data types are .Net specific types that are not universally recognized, i.e. .Net specific only.&lt;br /&gt;&lt;br /&gt;You can even exchange custom objects using .Net web services. The only limitation is that only public data members are transmitted, and all public members and properties must use one of the other supported data types.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;You can use DataSet and DataTable to return information from database but can't use other ADO.NET objects such as DataColumns and DataRows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net offers a distributed technology called .Net remoting that can plays around wide range of .Net specific data type. But unfortunately, .Net remoting doesn't support client other than .Net.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Testing and consuming a .Net web service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;h5 style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Testing a Web Service&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.NET has a test web page that ASP.NET uses automatically when you request the URL of an .asmx file in a browser. This page uses reflection to read and show information about the web services, such as the names of the methods it provides.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Consuming a Web Service&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services are built on XML standard. So, a client needs to equip itself to understand XML-based message in order to exchange messages. The .Net framework provides proxy component that enable clients to interact with web services. The proxy has all necessary information that can be utilized by the client application to share data with web services. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The proxy class wraps the calls to the web service's methods. It generates SOAP message format and manages the transmission of the messages over the network (using HTTP). When it receives the response message, it converts the results back to the corresponding .NET data types. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;You can create a proxy class in .NET in two ways: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;By using wsdl.exe command-line tool&lt;br /&gt;By using Visual Studio web reference feature  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-7836539914170680482?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/7836539914170680482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/advantages-of-net-web-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/7836539914170680482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/7836539914170680482'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/advantages-of-net-web-services.html' title='Advantages of .Net Web Services'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-2760208952005637070</id><published>2010-02-08T22:09:00.000-08:00</published><updated>2010-02-08T22:11:21.117-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><title type='text'>Why do we need .Net Web Services?</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C08%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1231227914; 	mso-list-template-ids:406901000;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l1 	{mso-list-id:1395277998; 	mso-list-template-ids:973351442;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l2 	{mso-list-id:1441071928; 	mso-list-template-ids:1049427140;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l2:level1 lfo1 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} @list l0:level1 lfo2 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} @list l1:level1 lfo3 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;We have a number of heterogeneous technologies available on internet. The demand for reusable components across platforms and programming languages are high. Most of the components have the limitation that they can't share or exchange data across different platforms, they are mostly language specific or platform specific. The technologies like COM, RMI, CORBA etc. contributed best to fulfill requirements to some extent, but components result from these said technologies are mostly either language specific or platform specific. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;To avoid above problem, we need to have web services. Through web services we have overcome the problem of interoperability between languages and platforms. Web services uses SOAP as transport protocol which uses a text based messaging model, i.e. XML to communicate between disparate systems. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Deploying a Web Service&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Deploying the .Net Web Services is as simple as any ASP.NET application. Similar to ASP.NET applications, you need to copy or upload the .ASMX file and the .DISCO files to the appropriate directories, and that's it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain in brief different distributed technologies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;The need of distributed technologies arises with the requirement of distributed computing applications. The distributed computing allows partitioning of application logic into units and spreading the unit over different computers of a network or across different networks. This helps in spreading out loads over many computers. The components once developed can be reuse by other applications. There are many technologies developed to allow the distribution and reuse of application logic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;Advantages of the distributed components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The key benefit of having      distributed components is that they spread out the load over different      machines.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The components can be upgraded      without disturbing the clients' code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The distributed application      improves security. For example, a company who has many agents wouldn’t      like those agents to have direct access to its database. Instead, these      agents can be granted access to the components running on the corporate      server which can be controlled and restricted.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services vs. CORBA and DCOM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;br /&gt;Web services use HTTP protocol for sending and receiving messages between the applications.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;The data encoding in web services is based on XML.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Web services are defined using WSDL (Web Services Description Language).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services are discovered      using UDDI (Universal Description, Discovery and Integration).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services are firewalls      friendly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services supports      interoperability i.e. cross platform integration is possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;CORBA and DCOM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;These technologies use      non-standard protocol, i.e. CORBA uses IIOP (Inter Internet Object      Protocol), and DCOM uses RPC (Remote Procedure Calls)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;CORBA components are defined      using CORBA Interface Description Language; DCOM components are defined      using Microsoft Interface definition languages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;CORBA components are discovered      using the CORBA registry, DCOM using the Registry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;DCOM is a proprietary protocol      that does not support interoperability and has firewall problems as DCOM      transfers data in binary format and it uses many ports to call remote      functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;CORBA uses the IIOP protocol,      which is non-Internet friendly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;CORBA and DCOM are fine for      building enterprise applications that runs on the same platform and not      good enough for applications that span platforms and languages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-2760208952005637070?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/2760208952005637070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/why-do-we-need-net-web-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2760208952005637070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2760208952005637070'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/why-do-we-need-net-web-services.html' title='Why do we need .Net Web Services?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-733797026679808240</id><published>2010-02-08T22:08:00.001-08:00</published><updated>2010-02-08T22:14:59.190-08:00</updated><title type='text'>When to use .Net Remoting over Web services</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C18%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting provides distributed solution for a corporate use. So, if you need distributed environment to be implemented for internal use, .Net remoting is the best choice. If you require a faster distributed solution, .Net Remoting with TCP protocal using binary format is faster than Web services. .Net Remoting is better solution when large transfer of data is required. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;How does .Net Remoting works?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Remoting.Net allows components to interact across application domains, processes, and machine boundaries, thus allows applications to access remote resources in a networked environment. The interaction of components is made possible through proxy in remoting architecture. When a client calls the remote method, it’s the proxy that receives the call. The proxy then encodes the message using formatter. The messages are then sent over the channel to the server process where listening channel receives the call and passes it to the remoting system. The requested method is then invoked and results are returned back to the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;.Net Remoting provides an infrastructure where objects of different AppDomains can interact. A client interacts with server object using .Net Remoting architecture. An object interacts with other objects outside AppDomains using proxy since the objects can't access directly anything outside AppDomain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Point to be noted.&lt;br /&gt;A remote object is implemented by inheriting MarshalByRefObject class.&lt;br /&gt;A client has to obtain proxy activating a remote object by calling CreateInstance, GetObject, or new.&lt;br /&gt;Local objects can be passed as parameters when making remote calls. Local objects are passed by value in a remote call.&lt;br /&gt;The object passed as parameter in a remote call must be serialized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Activation Model&lt;br /&gt;You need to activate remote object before use. There are two activation modes in .Net Remoting&lt;br /&gt;Server Activation&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;In this mode, objects are created automatically when a client attempts to access the object. The object doesn't get created when you use new keyword to create instance of the server class.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Client Activation&lt;br /&gt;In this mode, objects are created when you use new keyword to create instance of the server class.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;A server object is created and deployed on the network that serves client requests. The server objects have to be registered with the CLR before it can be accessed by client. The details that have to be provided to the CLR are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Name of the assembly that should be loaded to activate the object&lt;br /&gt;The namespace and type name of the object&lt;br /&gt;The name of the endpoint where the object can be accessed&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;The channels to be used by client to communicate have to be registered.&lt;br /&gt;The registered channels then start listening for clients to connect.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Once a remote object has been deployed, clients can connect and invoke methods on the server object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In order to access remote object, the client first activates the object by calling new, GetObject, or CreateInstance. On activation request, a proxy is created to represent the remote object. The client message in the serialized form is transported to the server. The type of serialization depends on the channel. For example, when the HTTP channel is used, all messages are serialized to XML and transported over SOAP. On the other hand, TCP uses binary serialization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;On the server side, the requested method is then invoked and results are packaged in a message and returned back by to the client. If the target object is of type SingleCall, it will automatically be garbage collected after the call completes.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Approaches to access server objects in Remoting.Net&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;First one to have copy of server object on the client machine and accessing local copy of object to call method. This method is good suited when the object is not very big not having too many methods. Copying big object is wastage of client resources which includes network resources and processing time.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The second approach is to create a proxy object that returns reference of all the methods and properties of server object in the client domain. The proxy acts as local object, fake server object on the client machine. Any method call from the client will be served by proxy which in turn access server domain to get response from server object. This approach is good when the object is big with many methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Remotable and Nonremotable objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;You have two categories of objects in distributed applications: Remotable and Nonremotable objects.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nonremotable object can’t be accessed outside its own application domain. This kind of object doesn't allow its methods or properties to be used by remoting system. Remotable objects can be accessed outside its own application domain. The remoting system can use methods and properties of this kind of object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;There are two types of remotable objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-value-objects -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;When client calls a method on marshal-by-value-object, the remoting system creates a copy of this object and passes the copy to the client application domain. The copy hence received can handle any method call in client domain. Using Marshal-by-value-object reduces resource consuming trip across network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Marshal-by-reference-object -&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;When client calls a method on Marshal by reference object, the remoting system create proxy object in the caller application that contains the reference of all method and properties of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-733797026679808240?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/733797026679808240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/when-to-use-net-remoting-over-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/733797026679808240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/733797026679808240'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/when-to-use-net-remoting-over-web.html' title='When to use .Net Remoting over Web services'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-3662584713385498192</id><published>2010-02-08T22:08:00.000-08:00</published><updated>2010-02-08T22:11:21.117-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><title type='text'>Explain the protocols a .Net Web Service uses.</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C06%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;In .Net, a web service is bind with three different protocols such as HTTP/POST, HTTP/GET, and SOAP. This allows client with three options to choose for communication. The protocols are included in the WSDL file that is automatically generated in .NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Http-Get and Http-Post can only be used when name/value pairs of data is dealt with. But when data is complex in nature such as ASP.NET dataset, XML notes etc, then we can use SOAP that serializes data in simpler form before sending.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain how to document web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;ASP.NET web services are considered as self documenting as they provides all information about what methods are available and what parameters they require using XML based standard called WSDL. We can also provide addition information about the web services using their WebService and WebMethod attributes.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can add descriptions to each method through the Description property of the WebMethod attribute and to the entire web service as a whole using the Description property of the WebService attribute. You can also apply a descriptive name to the web service using the Name property of the WebService attribute. The attributes have name, description and namespace as properties which are shown in following example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;[WebService(Name = "Customer Service", Description = "Retrieve the Customer details",Namespace=&lt;a href="http://www.apress.com/ProASP.NET/"&gt;http://www.apress.com/ProASP.NET/&lt;/a&gt;)]&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;public class Customer : System.Web.Services.WebService&lt;br /&gt;{&lt;br /&gt;     [WebMethod(Description = "Returns Customer Count")]&lt;br /&gt;     public int GetCustomerCount()&lt;br /&gt;     { ... }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;     [WebMethod(Description = "Returns the list of Customer")]&lt;br /&gt;     public DataSet GetCustomer()&lt;br /&gt;     { ... }&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Namespace allows your web service to be uniquely identified. By default, ASP.NET web services use the default XML namespace http://tempuri.org/, which is suitable only for testing. XML namespace simply identifies your web service. XML namespaces usually look like URLs. However, they don't need to correspond to a valid Internet location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Explain when do we required ASP.NET web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;ASP.NET web services are the great way to expose your middle tier components via internet. These components offer no issue communicating across firewalls as they use SOAP as transport protocols that transmit structured data using HTTP channel. Thus, message can be easily exchanged through port 80, i.e. through internet data port without being getting hampered by corporate firewalls or proxy server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services can fit in the situation when we require integrating disparate systems written by separate vendors via internet. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Web services are primarily being used for B2B integration like authorizing employees, supplier, electronically signing of invoice etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-3662584713385498192?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/3662584713385498192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-protocols-net-web-service-uses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3662584713385498192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3662584713385498192'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-protocols-net-web-service-uses.html' title='Explain the protocols a .Net Web Service uses.'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-624221695047562668</id><published>2010-02-08T22:07:00.000-08:00</published><updated>2010-02-08T22:11:21.117-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><title type='text'>What is .Net Web Service?</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Csekhar%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C04%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h4 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:4; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} h5 	{mso-style-next:Normal; 	margin-top:12.0pt; 	margin-right:0in; 	margin-bottom:3.0pt; 	margin-left:0in; 	mso-pagination:widow-orphan; 	mso-outline-level:5; 	font-size:13.0pt; 	font-family:"Times New Roman"; 	font-weight:bold; 	font-style:italic;} p 	{mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.apple-converted-space 	{mso-style-name:apple-converted-space;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:351341821; 	mso-list-template-ids:-84214324;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l0:level1 lfo1 	{mso-level-start-at:0; 	mso-level-numbering:continue; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;ul type="square"&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web service is the way to      publish application's function on web that can be accessible to the rest      of the world.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services are the components      that can be used by other applications&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;ASP.NET offers easy way to      develop web services, just precede the functions with a special WebMethod      ()&gt; attribute in order them to work as Web Service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services are discovered      using UDDI directory services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services are built on XML      standard and use SOAP protocol that allows them to communicate across      different platforms and programming languages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services easily manage to      work across corporate firewalls as they use HTTP protocol which is      firewall friendly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;Web services platform elements      are&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;     SOAP (Simple Object Access Protocol)&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;     UDDI (Universal Description, Discovery and Integration)&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;     WSDL (Web Services Description Language)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The web services are built on      internet standards that are not platform or language specific.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The .Net framework provides      in-built classes to build and consume web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The components offered by web      services are reusable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(0, 82, 121); line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;The examples of web service      components can be shipment tracking, translation utility, weather      forecasting, sports scores etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h5 style="line-height: 11.25pt;"&gt;&lt;em&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121); font-style: normal;"&gt;.NET web service &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is SOAP?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;SOAP, Simple Object Access Protocol is a communication protocol, a way to structure data before transmitting it, is based on XML standard. It is developed to allow communication between applications of different platforms and programming languages via internet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;It can use range of protocols such as HTTP, FTP, SMTP, Post office protocal 3(POP3) to carry documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Http-Get, Http-Post works with name/value pair which means transferring complex object is not possible with these protocols, whereas SOAP serializes complex structure, such as ASP.NET DataSets, complex arrays, custom types and XML nodes before transmitting and thus allows exchange of complex objects between applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;Two components can easily communicate using Remote Procedure Calls protocol. But because of their compatibility and security issues, most of firewalls and proxy server block this type of messages. SOAP uses HTTP channel to transport which makes it widely accepted protocal over the internet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is WSDL?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;WSDL stands for Web Ser&lt;br /&gt;vices Description Language, an XML-based language that describes Web services and how to access and locate them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height: 11.25pt;"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;What is UDDI?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 82, 121);"&gt;UDDI stands for Universal Description, Discovery and Integration. It is an open, Internet-based specification that offers directory service for storing information about web services&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-624221695047562668?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/624221695047562668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-net-web-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/624221695047562668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/624221695047562668'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-net-web-service.html' title='What is .Net Web Service?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-3528729164090023801</id><published>2010-02-08T05:57:00.000-08:00</published><updated>2010-02-08T06:13:36.859-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Who Benefits from AJAX?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-   font-family:Georgia;font-size:12.0pt;color:black;"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt; offers benefits to both end users and developers. For end users, it reduces the “rich or reach” conflict; for developers, it helps in overcoming the constraints raised by HTTP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style=" ;font-size:12.0pt;color:#005279;"&gt; &lt;em&gt;&lt;span style="font-family:Arial;"&gt;Why End Users Want &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; Applications&lt;/span&gt;&lt;/em&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Users tend to view desktop applications as a sort of commitment. They install a program, usually from a disk pulled from a costly shrink-wrapped box. The program consumes hard disk space as well as a position in the program menu. The user may need to update the program periodically or perform an upgrade later on to get new features. If the program is proactive about updating itself, the user is confronted regularly with dialogs about accepting patches or downloads. In exchange for this investment of time, money, and energy, the user gets repaid by an application that is able to leverage the operating system and machine resources. It is a rich application. It has local storage capabilities, offers quick response times, and can present a compelling and intuitive graphical user interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;More and more applications are accessible from the web browser, where the full resources of the hardware and OS are not available, but the user commitment of a desktop application is not required. Over the years, interacting with a web application has meant a predictable pattern for users. They click a link in the page and the browser flashes while the user waits until the screen is repainted (the dreaded post back). This cycle is repeated again and again. The user looks at what is presented on the page, interacts with it, and clicks somewhere. The browser produces an audible click for feedback and begins to post back to the server. The screen of the web browser flashes blank and some icon spins or flashes while the user waits for a new version of the page to be returned from the server. Many times, the new version of the page is almost exactly the same as the previous version, with only part of the page being updated. And then the cycle begins all over again. This has a sluggish feeling even when the user has a highspeed network connection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; set of technologies has changed what users expect from web applications. JavaScript code running in the browser works to exchange data with the web server asynchronously. There is no click sound and the browser does not flash. The request to the server is nonblocking, which means the user is able to continue viewing the page and interacting with it. The script gets the updated data from the server and modifies the page dynamically using the DHTML coding methodology. The user is able to continue looking at the page while parts of it are updated in the background. &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is used to provide a more responsive experience, making web applications behave more like desktop installations. JavaScript is used to provide a richer experience with support for drag-and-drop, modal dialogs, and seemingly instantaneous updates to various parts of the page based on user inputs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;A big part of successfully leveraging &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; technologies is in the perceived performance increase. Users appreciate web applications that anticipate their actions. If you also use JavaScript code in the background to pre-fetch images and data that may be needed, users can get a speedy response without the usual pause that accompanies their actions. Nobody wants to wait for data exchanges between client and server; studies have shown that a time lag between user input and subsequent UI changes can significantly reduce their productivity and give them the frustrating feeling that they are fighting the application. Users want web applications to behave like desktop installations but without the overhead associated with an installation. As more applications employ smart caching, anticipate user actions, and provide richer UI, the difference between web and desktop applications is becoming blurred. Expectations of web applications are rising. The end user has now seen that it is possible to avoid the commitment of installing a desktop application and still have a rich and responsive experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;em&gt;&lt;span style=" ;font-family:Arial;font-size:12.0pt;color:#005279;"&gt;Why Developers Want &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;/span&gt;&lt;/em&gt;&lt;span style=" ;font-size:12.0pt;color:#005279;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Often, the first question to arise when starting a new development project is what type of application it will be. Should it be a desktop application or a web application? This is a key decision because it has historically dictated a lot about the nature of the application and the development problem space. Many developers are now choosing to build web applications by default unless something about the application dictates that it must be a desktop install. If it must run offline or if it requires a user interface that is complex to achieve in HTML, targeting the web browser may be ruled out, and the choice to write a standalone application is forced.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Developers have a difficult job writing modern web applications due to the inherent worldwide-web functionality constraints imposed by the use of the Hypertext Transfer Protocol (HTTP) and the way browsers use it. HTTP is a stateless protocol. The web browser requests a page, possibly carrying some querystring or form input parameters, and the server processes the request and sends a response that includes HTML-rendered content. The server can only react to the information supplied in the current request and doesn’t know, based on the information in the request itself, details about the path the user took to get to the current view. When the response is rendered, the connection may be broken and the server won’t have any information to preserve for the next request. From the server’s perspective, it is simply listening for requests to come in from any browser anywhere and then reacting. The browser issues a request to the page and receives an HTML page in response. It uses the HTML it receives to render the user interface. The user interacts with the page, and, in response, the browser clears the screen and submits a new request to the server, carrying some information about user input or actions. Again, a complete HTML page is returned. The browser then presents the new version of HTML. Fundamentally, the HTTP protocol is stateless. The server gets a request and responds to it. The request carries limited information about the ongoing conversation that is happening between client and server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-   font-family:Georgia;font-size:12.0pt;color:black;"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt; makes this much better. &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; breaks this pattern by updating portions of the page separately, via partial page rendering. Figure 1-1 shows a typical non-AJAX series of browser and server interactions. Each request results in a full page rendering, and, in response, the browser updates the user’s entire view.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;In Figure 1-2, &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is employed to improve the user’s experience. A request is made for the initial page rendering. After that, asynchronous requests to the server are made. An asynchronous request is a background request to send or receive data in an entirely nonvisual manner. They are asynchronous because the user interface isn’t frozen during this time, and users can continue interacting with the page while the data transfer is taking place. These calls get just an incremental update for the page instead of getting an entirely new page. JavaScript running on the client reacts to the new data and updates various portions of the page, as desired. The number of requests to the server may be no different, or in some cases there may actually be more calls to the server, but the user perception is that the application feels more responsive. They aren’t forced to pause, even if it’s only a slight pause, and wait for the server while staring at a blank browser screen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 14px; "&gt;Almost a decade ago, the Microsoft Exchange Server team created an ActiveX control called XmlHttpRequest that could be instantiated from JavaScript and used to communicate with the server. This can occur without clearing the screen to paint a whole new page. Using the XmlHttpRequest object, you could send information to the server and get data back without requiring a whole new HTML page. JavaScript code could then manipulate the HTML dynamically on the client, avoiding the annoying flash and the wait that users associate with web browsing. This functionality was not limited to Internet Explorer for long. Soon, other browsers included XmlHttpRequest objects as well. Developers could now write richer applications with reach extending across various operating systems.&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The browsers also created an advanced DOM (Document Object Model) to represent the browser, the window, the page, and the HTML elements it contained. The DOM exposed events and responded to input, allowing the page to be manipulated with script. Dynamic HTML (DHTML) opened the door to writing rich interfaces hosted within the web browser. Developers started writing hundreds and even thousands of lines of JavaScript code to make rich and compelling applications that would not require any client installation and could be accessed from any browser anywhere. Web applications began to move to a whole new level of richness. Without &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; libraries, you would be faced with writing lots and lots of JavaScript code and debugging the sometimes subtle variations in different browsers to reach this new level of richness. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style=" ;font-size:12.0pt;color:#005279;"&gt;What Is ASP.NET &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;ASP.NET AJAX is the name of Microsoft’s &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; solution, and it refers to a set of client and server technologies that focus on improving web development with Visual Studio. Other companies have their own &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; solution, often taking a radically different approach, but Microsoft has sought to build upon the popular ASP.NET technology by developing a comprehensive set of script libraries as well as server programming enhancements. One piece, the Microsoft AJAX Library, is a JavaScript library that works on a variety of browsers and serves to simplify JavaScript development. It provides you with the capability to easily write JavaScript using an object-oriented programming approach similar to code-behind programming in ASP.NET. You can use the functions of the Microsoft AJAX library to interact with the DOM, dynamically update portions of the page, communicate with the web server asynchronously, and write rich animations on the page. You’ll learn about the client features in Chapters 6 and 7, but for now think of the Microsoft AJAX Library as a type system and set of class libraries that simplify writing JavaScript to enhance the user experience, manipulate the DOM, and communicate with the web server. The huge benefit in using this library is that it abstracts the tedious low-level DHTML programming into an OOP model that is much easier to work with.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The other part of the ASP.NET AJAX release is the server-side ASP.NET 2.0 AJAX Extensions. These extensions build on top of the ASP.NET classes and controls and leverage the Microsoft AJAX Library sent to the browser. They make it easy to quickly take advantage of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; technologies to enrich an application. Through a set of standard web services, ASP.NET AJAX is also able to leverage server-based application services such as authentication and user profile storage. The extensions both extend some of the existing ASP.NET controls by adding new behaviors and include a new set of server controls that make it easy to do asynchronous updates to a page and leverage server resources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The client and server pieces of ASP.NET are shown in Figure 1-3. ASP.NET is built on top of the Microsoft Internet Information Services (IIS) web server. ASP.NET AJAX builds on top of that and the web services it includes. The Microsoft AJAX Library runs in the browser to manipulate the DOM, communicate asynchronously with the web server, and take advantage of ASP.NET services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="Apple-style-span" style="line-height: normal; font-size: 19px; font-weight: bold; "&gt;&lt;em&gt;&lt;span style=" ;font-family:Arial;font-size:12.0pt;color:#005279;"&gt;The ASP.NET Component&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The original (ASP) Active Server Pages technology was released as part of Internet Information Server 3.0. It was then improved with support for transactions and access to COM objects with the release of the NT 4.0 Option Pack almost ten years ago. At the time, most websites consisted of static HTML pages. To the extent that there were any dynamic applications, they were CGI (Common Gateway Interface) or ISAPI (Internet Server API) applications typically written in C and C++. With the release of Active Server Pages (ASP), developers could use JavaScript or VBScript on the server to leverage a set of intrinsic objects provided by ASP. “Classic ASP,” as it is now called, provided a session object so that developers didn’t need to worry about the stateless nature of HTTP. It had Request and Response objects that provided for easy access to data coming from forms on the client and a way to send updated information back. The Server and Application objects were an avenue for accessing information from the web server and utilizing a common set of COM objects across the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Although Classic ASP was a big win for developers, developers soon found that developing complex applications became difficult. The lack of support for modularization meant that applications ended up with such complex interdependencies in script that developers often referred to it as “spaghetti code.” Debugging support was severely lacking, and there were no rich design tools for developing applications. Performance also suffered because ASP used a slow scripting model, and syntax errors could only be detected at runtime. ASP.NET is a big leap forward. It provides compatibility for existing applications by including the same set of intrinsic objects found in Classic ASP but moves from interpreting JavaScript and VBScript on the fly to using a compiled set of pages and modules written in C# and VB.NET. Classic ASP simply executed script in order from the top to the bottom of the page; ASP.NET is an event-driven model with a page lifecycle, making it more like writing a desktop application. Now, instead of including separate JavaScript files to represent business objects, you can create objects in any .NET language and access them directly from ASP.NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;ASP.NET takes a set of pages that contain code and markup and generates a Page class that is then compiled and cached. For each request to the page, the class is instantiated and a complete page lifecycle is executed. A set of events are executed, some of which have been overridden by the generated Page class. Controls in the page also participate in the lifecycle, databinding to backend databases, reacting to user input, and dealing with changes to their state from the user’s previous view. To react to user actions, the developer has only to provide an event handler for the given action. For example, the button control exposes a Click event. When using it, you don’t need to write code to examine all form variables on a page to know if the button was clicked. Instead, you just provide code for an event handler override. The event handler code can then update the HTML for the page or the properties and data of other controls on the page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;em&gt;&lt;span style=" ;font-family:Arial;font-size:12.0pt;color:#005279;"&gt;The JavaScript Component&lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:12.0pt;color:#005279;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-   font-family:Georgia;font-size:12.0pt;color:black;"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt; technologies take advantage of the common support for JavaScript found in modern browsers. Because there is a standard that is supported across the various browsers, you can write scripts knowing that they will run. This wasn’t always the case.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;In the mid 1990’s, Netscape and Microsoft (along with others) collaborated on a standard for a scripting language that they would support in their web browsers. The standard is called EcmaScript. Microsoft’s implementation is called JScript, but the language is generally referred to as JavaScript, as it was called in Netscape. (It has nothing to do with Java, but someone must have thought the association was useful for marketing purposes.) JavaScript program snippets are sent down to the browser along with the HTML, and they run inside the user’s browser to affect how the page is processed on the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;JavaScript is not compiled; it is interpreted. There is no static type-checking like you get in C++ and C#. You can declare a variable without needing to specify a type, and the type to which the variable refers can change at any time. This makes it easy to get started programming in JavaScript, but there’s inevitably a certain amount of danger in allowing the data type of a variable to change dynamically at runtime. In the following snippet, notice that the variable can reference any type without difficulty:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;var something = 1;&lt;br /&gt;something = true;&lt;br /&gt;something = “a string”;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;JavaScript is a dynamic language. Types can actually be extended during program execution by other code. This means that you can write code that creates types on the fly. Because there is no enforcement of type safety, your code can receive these types as parameters or return values without any problem. This provides a great degree of flexibility and coding power.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The fundamental types in JavaScript are strings, numbers, Booleans, and functions. There is also support for objects and arrays, which are collections of the fundamental types. Some additional objects are included that are considered essential for many programming tasks. This includes support for regular expressions and date and time operations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;You can use the plus operator on strings in JavaScript to concatenate them:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;var theEnd = “THE END.”;&lt;br /&gt;var result = “Beginning, “ + “middle, and “ + theEnd;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;In this example, the result variable is now the string: “Beginning, middle, and THE END.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;JavaScript interpreters use the IEEE floating-point standard for storing numbers. Ignoring the gory details, you can assume that for most programming tasks you won’t have any trouble.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The Boolean type in JavaScript is about what you would expect it to be but maybe not exactly so. The Boolean represents whether or not an expression is true, but it uses the C-style convention using integer values 0 and 1.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Variables can exist in JavaScript without having a value, and a variable may simply be undefined, which can produce unexpected results. In this piece of JavaScript, three variables are declared, and all of these comparisons are designed to return a true value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;&lt;script type="”text/javascript”"&gt;&lt;br /&gt;var one = 1;&lt;br /&gt;var zero = 0;&lt;br /&gt;var undefinedVar;&lt;br /&gt;if(one)&lt;br /&gt;{&lt;br /&gt;      alert(“1 is true”);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(!zero)&lt;br /&gt;{&lt;br /&gt;      alert(“0 is false”);&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;if(!undefinedVar)&lt;br /&gt;{&lt;br /&gt;       // this test tells us that “undefinedVar” either contains 0,&lt;br /&gt;       // or is really undefined: both of which equate to false&lt;br /&gt;       alert(“undefinedVar is false”);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(one != zero) &lt;br /&gt;{&lt;br /&gt;      alert(“one and zero are not the same”);&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;You can check specifically to see if a variable has been defined like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;if( typeof(undefinedVar ) == “undefined” )&lt;br /&gt;{&lt;br /&gt;     alert(“undefinedVar is undefined”);&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Variables can also have a null value, which is not the same thing as being undefined, as a null value does constitute a value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Functions are also real types in JavaScript. They can accept arguments and return values. Functions can be passed to other functions and can be created dynamically by other script code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Here are two equivalent definitions for a function called Add that will take two variables and return the result of applying the plus operator. Notice that I didn’t state that it takes two numbers. Remember, JavaScript variables don’t have a defined type, so I could just as easily pass two strings and get them concatenated by my Add function.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;&lt;script type="”text/javascript”"&gt;&lt;br /&gt;function Add(x, y)&lt;br /&gt;{&lt;br /&gt;     return x + y;&lt;br /&gt;}&lt;br /&gt;var AddAgain = function(x, y) { return x + y; }&lt;br /&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Once either of these styles is used to create a function, it can be called from that scope and any nested scope to perform the addition. There is no advantage to one of these forms over the other. You can simply choose to use the syntax that you prefer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;&lt;script type="”text/javascript”"&gt;&lt;br /&gt;var result = Add(36, 24);&lt;br /&gt;alert(result); //displays 60&lt;br /&gt;var stringResult = Add(“Hello “, “there.”);&lt;br /&gt;alert(stringResult); //displays “Hello there.”&lt;br /&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;Objects and arrays are just collections of other types. Array types do not require that the values they hold be named; instead, you can access them by index. The values held in an object are referenced by field or property names. Objects can also hold functions (which can be accessor functions to give public visibility to local variables), which lets you create data structures that represent entities in JavaScript code. Missing from this sort of object-oriented programming is a concept of type inheritance. The Microsoft AJAX Library provides a set of classes and recommended patterns for achieving inheritance in JavaScript, making it more natural for switching between JavaScript and other high-level languages. The following code example includes a definition for an Album object that holds and returns the artist and album title. An array is then used to store information about several albums.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;&lt;script type="”text/javascript”"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-3528729164090023801?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/3528729164090023801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/who-benefits-from-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3528729164090023801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3528729164090023801'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/who-benefits-from-ajax.html' title='Who Benefits from AJAX?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-2498210402173912980</id><published>2010-02-08T05:56:00.002-08:00</published><updated>2010-02-08T05:58:39.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Packaging</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The packaging of ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; can be fairly confusing. The basics of the packaging are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; Extensions 1.0—The ASP.NET 2.0 AJAX      Extensions 1.0, also referred to as the RTM/Core code, is an independent      download. This contains the functionality that will receive support from      Microsoft in the initial release of the product. The source code is      available.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;ASP.NET AJAX Futures Community Technology      Preview (CTP) — The ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      framework contains a set of functionality that is experimental in nature.      This functionality will eventually become integrated with the RTM/Core      code. During the initial release, the Futures CTP functionality will be a      separate download from the RTM/Core bits. This will not receive specific      support from Microsoft beyond community-based support. The CTP bits      require that the RTM/Core bits already be installed for the CTP bits to be      installed. The CTP is also referred to as Value-Added Bits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Microsoft AJAX Library—The Microsoft AJAX      Library is a set of JavaScript client libraries that make up the standard      download to a web browser and provide much of the support for AJAX in the      client. These libraries will work with a non-IIS server and are available      as a separate download. This library is included in the ASP.NET 2.0 AJAX      Extensions 1.0 download as well as being available as a separate download.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;ASP.NET AJAX Control Toolkit — The AJAX      Control Toolkit is a separate download that provides a set of client-side      GUI widgets that integrate with the ASP.NET 2.0 &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; framework. The toolkit is licensed      separately from the framework and includes the source code for developers      who would like to review the source.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Futures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It has already been announced that ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; will be integrated into the .NET framework and Visual Studio in the Orcas versions of these products. Future versions will undoubtedly have more integration between ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;, ASP.NET, and Visual Studio.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; provides developers a foundation to build web-based applications with an improved user experience. In this introductory chapter, you have looked at the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Development from a historical perspective&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Web development methodologies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Some of the features that ASP.NET AJAX      provides, such as improved user responsiveness and decreased load on the      web server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Multiple technologies that can improve the      user experience&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The general components in the ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; packaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The problems ASP.NET AJAX solves, and who is      using it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h2 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="color:#005279"&gt;Understanding &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; is an acronym for Asynchronous JavaScript and      XML. If you think it doesn't say much, we agree. Simply put, AJAX can be      read "empowered JavaScript", because it essentially offers a      technique for client-side JavaScript to make background server calls and      retrieve additional data as needed, updating certain portions of the page      without causing full page reloads. Figure 1.4 offers a visual      representation of what happens when a typical AJAX-enabled web page is      requested by a visitor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-2498210402173912980?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/2498210402173912980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/packaging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2498210402173912980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2498210402173912980'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/packaging.html' title='Packaging'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4223130758507669448</id><published>2010-02-08T05:56:00.001-08:00</published><updated>2010-02-08T05:58:39.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>What Is ASP.NET 2.0 AJAX?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;On June 28, 2005, Microsoft announced “ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;.” ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is an AJAX-oriented .NET library that runs on .NET 2.0. Though ASP.NET 2.0 &lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt; is an &lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt; library and can be used to perform &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; operations, it is really much more. ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; offers many of the same types of features of the server-side ASP.NET, but it is directed at the client side. Because ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is fully integrated with ASP.NET, it provides rich integration with the services provided by ASP.NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;ASP.NET 2.0 &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; provides the following features (and much more):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;AJAX-style communications between client and      server. This communication is over web services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Asynchronous communication. All      client-to-server communication in the ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; framework is asynchronous.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A set of server-side controls that enable rich      client-side functionality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A set of client-side controls and classes that      further enable client-side functionality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A framework for encapsulating client-logic      through the creation of namespaces and classes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Cross browser support. Although there is no      official matrix of web browsers that ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; supports, the latest versions of      Internet Explorer, Firefox, and Safari are supported. In addition, Opera      is thought to be supported; however, we have not been able to find an      official statement from Microsoft regarding this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Running ASP.NET &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; Applications&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Unfortunately, not all web browsers ever produced will support ASP.NET AJAX. To run an ASP.NET AJAX application, a web browser must: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Be relatively modern — ASP.NET AJAX      applications are not available in all versions of all web browsers. Though      Internet Explorer version 6 and later, Firefox version 1.5 and later, and      Safari provide support for these applications, older versions may be      problematic because of their support for different versions of the other      requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Support the DOM — The capability to update      form elements on a page based on new data is important. Accessing the      controls in a standard way means that writing code that runs over a      majority of web browsers is easier than having code that has a large      number of if/then/else statements that are dependent on the browser      version.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Support JavaScript — ASP.NET AJAX requires      some amount of actions to occur out on the client. These actions are done      using the JavaScript programming language. Because the major web browsers      support JavaScript, it makes sense for JavaScript to be used for the      client-side programming language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Possibly have ActiveX enabled on the client —      If you are using the Internet Explorer 6 browser while running on Windows,      you may have problems if ActiveX is not enabled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;ASP.NET 2.0 &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; falls into four areas:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:.5in;text-indent:-.25in;line-height:11.25pt;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt;Server-side controls — Server-side controls generate the appropriate client-side markup and script to perform client-side operations without the need for a postback. These controls provide a fairly easy environment to debug. For example, debugging with the UpdatePanel is fairly easy. Besides the UpdatePanel, other controls that work similarly are the ASP.NET AJAX Control Toolkit.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:.5in;text-indent:-.25in;line-height:11.25pt;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt;Client-side classes — These classes provide additional functionality to the client-side browser. This type of functionality is similar in concept to the base class libraries included in the .NET framework. An example would be the whole Sys.Net namespace along with the extensions to the base JavaScript objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:.5in;text-indent:-.25in;line-height:11.25pt;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt;Web services integration — This functionality allows a developer to use web services as the communication channel between the web browser and the web server without having to understand the differences between the MSXML component in IE and the XmlHttpRequest object in Firefox.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4223130758507669448?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4223130758507669448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-aspnet-20-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4223130758507669448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4223130758507669448'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-aspnet-20-ajax.html' title='What Is ASP.NET 2.0 AJAX?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-3499992812037831885</id><published>2010-02-08T05:55:00.002-08:00</published><updated>2010-02-08T05:58:39.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Technologies That Make Up AJAX</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; is a general umbrella term. &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; itself stands for Asynchronous JavaScript And XML. The term was coined by Jesse James Garret of Adaptive Path in an essay published in February 2005 (http:// www.adaptivepath.com/publications/essays/archives/000385.php) and was quickly accepted by the development community.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Based on this general umbrella term, take a look at the specific items that make up &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;XMLHttpRequest — XMLHttpRequest allows the      browser to communicate to a back-end server. This object allows for the      browser to talk to the server without requiring a postback of the entire      web page. With Internet Explorer 5 and 6, this capability is provided by      the MSXML ActiveX component. With the Mozilla Firefox, IE 7, and other web      browsers, this capability is provided by an object literally called      XmlHttpRequest. The XmlHttpRequest object is modeled after the MSXML      component and defined by the XMLHttpRequest standard from the W3C. The      ASP.NET 2.0 &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      client-side JavaScript libraries hide the differences between the various      browsers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;JavaScript—JavaScript provides the capability      to communicate with the back-end server. The version of JavaScript must be      version 1.5 or later. Though JavaScript is not specifically required, it      is needed from the standpoint that JavaScript is the only client-side scripting      environment supported across the major modern web browsers. There are      other client script languages; however, these are not supported across all      browsers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;DHTML/DOM support—The browser must support the      ability to dynamically update form elements, and the ability to do this in      a standard way comes through the support for the Document Object Model      (DOM). By supporting the DOM, it becomes easy for developers to write a      single piece of code that targets multiple browsers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:#005279;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia;color:black"&gt; Data transport with XML or      JSON — Using XML allows for the ability to communicate with the web server      in a standard mechanism. The default data format with ASP.NET AJAX is JSON&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-3499992812037831885?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/3499992812037831885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/technologies-that-make-up-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3499992812037831885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3499992812037831885'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/technologies-that-make-up-ajax.html' title='Technologies That Make Up AJAX'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-5227454641452157781</id><published>2010-02-08T05:55:00.001-08:00</published><updated>2010-02-08T05:58:39.018-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>What Is AJAX?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;So into this development environment comes a set of technologies that are collectively referred to as &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;. If you are an “old guy” developer like me, then &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; represents a similar concept to the client-server development mentioned earlier in the chapter. With client-server development, the amount of data transferred is minimized over a terminal application by transferring only the necessary data back and forth. Similarly, with &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;, only the necessary data is transferred back and forth between the client and the web server. This minimizes the network utilization and processing on the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Advantages of &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The advantages of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; over classical web-based applications include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Asynchronous calls — &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; allows for the ability to make      asynchronous calls to a web server. This allows the client browser to      avoid waiting for all data to arrive before allowing the user to act once      more.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Minimal data transfer — By not performing a      full postback and sending all form data to the server, network utilization      is minimized and quicker operations occur. In sites and locations with      restricted pipes for data transfer, this can greatly improve network performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Limited processing on the server — Along with      the fact that only the necessary data is sent to the server, the server is      not required to process all form elements. By sending only the necessary      data, there is limited processing on the server. There is no need to      process all form elements, process the ViewState, send images back to the      client, or send a full page back to the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Responsiveness—Because &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; applications are asynchronous on      the client, they are perceived to be very responsive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Context — With a full postback, users may lose      the context of where they are. Users may be at the bottom of a page, hit      the Submit button, and be redirected back to the top of the page. With &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; there is no      full postback. Clicking the Submit button in an application that uses &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; will allow      users to maintain their location. The user state is maintained, and the      users are no longer required to scroll down to the location they were at      before clicking Submit.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;History of &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;For all its perceived newness and sexiness, the technologies that make up &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; are really not new. The ability to communicate back to the server through a hidden frame without posting the main page back to the server has been around for a long time. Communication between client and server has been available— back to the release of Internet Explorer’s ability to script ActiveX controls on the client browser and to the MSXML component, both of which date back into the late 1990s. Personally, I saw the first formal usage of client script and MSXML in 2003. The problem with the technology at that time was the need to manually create the necessary client-side JavaScript. In 2003, there was too much code overall that had to be written and too much custom code that had to be written to get this to work. Only since the second half of 2005 have client-side libraries and server-side support for ASP.NET started to make their presence felt and been used significantly. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;The mainstream development community has only recently started using the technique. The release of Google’s Suggest and Maps are what really opened the eyes of the users to the development technologies. These applications sent a shockwave through the development community. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-5227454641452157781?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/5227454641452157781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5227454641452157781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5227454641452157781'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-ajax.html' title='What Is AJAX?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-5253871788543577502</id><published>2010-02-08T05:54:00.001-08:00</published><updated>2010-02-08T05:58:39.018-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Explain ASP.NET Ajax Framework.</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;ASP.NET Ajax Framework is used for implementing the &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; functionality. It allows you to create interactive web applications which can update data on the web page without changing the actions of the existing page. The frame work includes both client and serer side components. The framework can be used best in ASP.NET 2.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Explain limitations of &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Ajax&lt;/st1:city&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Back functionality cannot work because the      dynamic pages don’t register themselves to the browsers history engine.      Hence the need of Iframe becomes essential.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The page cannot be bookmarked if implemented      using &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;If java script is disabled , &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; will not work&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Because different components of the pages are      loaded at different times, response time may be slow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Because different components of the pages are      loaded at different times it may create confusion for the user. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;What is the role of Script Manager in &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Ajax&lt;/st1:city&gt;&lt;/st1:place&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Script Manager, as the name suggests is used to manage the client side script of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt;. Since &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; uses Java Script, there needs to be a mediator to manage this script and restrict a particular version to a browser. A Script manager is present on every page where &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; is used to enable the Ajax Libraries. These Libraries in turn helps to implement the core Functionality of Ajax: Partial rendering.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;List out differences between &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; and JavaScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;Ajax&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; is Asynchronous Java Script and XML. Here on sending request to the server, one needn’t wait for the response. Other operations on the page can be carried out. Hence, Asynchronous. On the other hand, Java script sends an HTTPRequest to the server and waits for the XML response. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;E.g. populating State field. Using JavaScript we need to use the “Onchnage” event where as using &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;ajax&lt;/st1:city&gt;&lt;/st1:place&gt;, the request is just sent to populate the state list. Other operations can be carried out on the page. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;Ajax&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; is a part of Java Script programming. Java Script is used to manage and control a web page once downloaded. &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; does not need to wait for the whole page to download. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Use of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; can reduce connections to the server since the script has to be requested once&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Describe how to create &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Ajax Objects can be created by the following syntax:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Var &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;ajax&lt;/st1:city&gt;&lt;/st1:place&gt;= New ajaxObject(‘page path’). Here page path is the URL you want the Object to call. The URL must be of the same domain as the webpage.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Define JSON.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;JSON is JavaScript Object Notation. JSON is a safe and reliable data interchange format in JavaScript. This format is easy for humans to read and machines to understand&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Explain in brief abo XMLHttpRequest object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XMLHttpRequest object is used to transfer data between a client and a server. Here the client can be a web browser. Here, the client can send and receive data without reloading the page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It can be created as follow&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Var request = new XMLHttpRequest ()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Describe the formats and protocols used by &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;Ajax&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; uses HTTP’s GET or POST. &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; also uses XMLHttpRequest protocol      for requesting to the web server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo2;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; uses JSON format to communicate between client      and server. UED or URL encoded data formats can also be used.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;What are the security issues with &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; function calls are sent in plain text to server. These calls may easily reveal database details, variable names etc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;User’s browsing session can be monitored my maliciously inserting scripts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;Ajax&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; may encourage developers to use multiple server side pages thereby introducing multiple entry points for attackers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;i&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;Ajax security issues posted on March 12, 2009 at 22:35 pm by Rajmeet Ghai&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Are there any security issues with &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A JavaScript can not access the local file      system without the user's permission.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;An &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      interaction can only be made with the servers-side component from which      the page was loaded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A proxy pattern could be used for &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; interactions      with external services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The application model should not be exposed as      some user might be able to reverse engineer the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;HTTPS can be used to secure the connection      when confidential information is being exchanged.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;Describe how to handle concurrent &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; requests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;JavaScipt closures can be used for handling concurrent requests. A function can be written to handle such requests. Once processing of code is over, URL and the call back function to call can be passed as parameters. These parameters are passed to the AJAXInteraction(url, callback) object. Closures insure that the proper callback function associated with a specific &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; interaction is called.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;When should &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; NOT be used?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;If the page is expected to be shown in a search engine like Google. Since Web crawlers don’t execute javascript code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;If the browser does not support JavaScript. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;If security is a big concern in the application; Since Ajax allows end user to see half of what’s being sent to the server. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;How do you know that an &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; request has completed?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;By determining the readyState property value of XMLHttpReqyest, One can know if the request is completed. If the readyState value = 4, the request has been completed and the data is available&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="mso-line-height-alt:11.25pt"&gt;&lt;span style="font-size:12.0pt; color:#005279"&gt;How do I handle the back and forward buttons?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;In order to store changes in the browsers web history (enabling back and forward buttons) Iframes can be used. Iframes allow am HTML document to be embedded in another HTML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSH (Really Simple History) framework can also be used. RSH framework explains the management of bookmarks and history for &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-5253871788543577502?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/5253871788543577502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-aspnet-ajax-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5253871788543577502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5253871788543577502'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-aspnet-ajax-framework.html' title='Explain ASP.NET Ajax Framework.'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1374176349440520363</id><published>2010-02-08T05:53:00.000-08:00</published><updated>2010-02-08T05:58:39.019-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>What is AJAX and what problem does it solve?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;Ajax&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; is a set of client side technologies that allows asynchronous communication between client and web server. In synchronous communication, complete round trip happens with each request/response action event when small data of the page to be refreshed. &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; has solved this problem of posting entire information every time through asynchronous communication.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XmlHttpRequest is the basic fundamental behind &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt;. This allows browser to communicate with server without making post backs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What are the benefits of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; over Java applet?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The following are the benefits of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; over Java applet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; applications are loaded in seconds, where as      Applets takes longer time. The reason is, Applet applications are tend to      load large libraries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; provides standard look and feel for web      applications, where as Applets provides GUI based look and feel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; features can increase from a conventional web      application, where as Applets uses complete programming process right from      the scratch.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:#005279;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia;color:black"&gt;Java version changes enable      incompatibilities between Applet and java environments used by the      browser, where as in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      incompatibilities are not the constraints&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the disadvantage of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The disadvantages of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l5 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Search engines would not be able to index an &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l5 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The server information can not be accessed      within &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l5 level1 lfo2;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; is not well integrated with any browser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l5 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;ActiveX requests are enabled only in IE 5 and      IE6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l5 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Data of all requests is URL-encoded, which      increases the size of the request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How is encoding handled in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; encoding can be done in two ways:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;encodeActionURL() method is used for full page refresh&lt;br /&gt;encodeResourceURL() method is used for partial page refresh.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why is &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; a comfortable fit with JAVA?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;   font-family:Georgia;color:black"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt; is a comfortable fit because, using Java Enterprise Edition the following tasks can be performed:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo3;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;       mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; client pages can be generated to server      incoming &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      requests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Server side state is managed for &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; clients&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo3;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; clients can be connected to enterprise      resources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is synchronous request in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Synchronous &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is a process that makes a java script to halt or stop the processing an application until a result is sent by a server. The browser is frozen, while the request is processed. The response time is 99.99% quick and fast enough. In case of intrusion for a request or transfer of the file, the browser freezes may be for two minutes until the time is out for the request. The advantages of using synchronous &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; are, simple to code and can be used in the events ‘onunload’ and ‘onbeforeunload’&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;When should I use a Java applet instead of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Applets provide features like custom data      streaming, graphic manipulation, threading, and advanced GUIs which &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; cannot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;However, with the help of DHTML, the      functionalities of &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;      can be extended further.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo4;tab-stops:list .5in"&gt;&lt;st1:city st="on"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;       mso-bidi-font-size:12.0pt;font-family:Georgia"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;/st1:city&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt; requires that the browser be DHTML and &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; capable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;AJAX-based functionality does need to take      browser differences into consideration due to which using a JavaScript      library such as Dojo which abstracts browser differences is recommended.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;AJAX/DHTML works well for applications where      the latest browsers are used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; is different?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An &lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt; application introduces a layer between the user and the server which comprises of the &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; engine. This eliminates the adhoc interaction between the client and the server and makes the application more responsive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A browser loads an &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; engine instead of the web page and then communicates with the server on users behalf as well as provides the user with an interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;As the communication with the server in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; is asynchronous, the user doesn’t have to wait for a server response.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Is the server or the client in control in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;With &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; the control can be more centralized in a server-side component or a mix of client-side and server-side controllers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Centralized server-side controller&lt;br /&gt;     In this type of architecture, the controller ensures that the data on the      client and the server are synchronized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Client and server-side controllers&lt;br /&gt;     In this type of architecture the presentation related control, event      processing, page manipulation, and rendering of model data is done through      Javascript on the client side.&lt;br /&gt;     The server-side is responsible for business logic and pushing updated      model data to the client.&lt;br /&gt;     Both methods are viable depending on the kind of task. However, the      centralized server side controller is preferred as in the other case      (Client and server-side controllers) the server might not have the      knowledge of the state of the client page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Are there Usability Issues with &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt;?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The nature of updating a page dynamically using data retrieved via &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; interactions and DHTML may result in drastically changing the appearance and state of a page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Since the pages get updated dynamically, the state of a page may not remain the same.&lt;br /&gt;So the behavior of a page may need to be defined in each of the following user actions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo6;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Navigation using the back or forward buttons      of the browser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo6;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Book-marking a page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo6;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Sharing a URL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo6;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Printing a page at any given time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Navigation:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;The output of the user actions like a page refresh, forward or back navigation, etc need to be defined.&lt;br /&gt;In this case using a JavaScript framework such as Dojo that provides API's history manipulation and navigation control would be simpler.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Book-marking and URL sharing:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Dojo provides client-side interface for book-marking and URL manipulation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Printing:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Issues could arise while printing dynamically rendered pages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1374176349440520363?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1374176349440520363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-ajax-and-what-problem-does-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1374176349440520363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1374176349440520363'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-ajax-and-what-problem-does-it.html' title='What is AJAX and what problem does it solve?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-2525831480565294533</id><published>2010-02-08T05:51:00.002-08:00</published><updated>2010-02-08T05:52:52.720-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>RSS interview questions</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is RSS? Explain the purpose RSS?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSS stands for Really Simple Syndication / RDF Site Summary / Rich Site Summary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The frequently updated work like the blog entries, news headlines, audio, and video need to e published in a standardized format. RSS is a family of such Web feed formats. An RSS document is also called a feed, web feed or a channel. It comprises of full or summarized text as well as metadata (dates and authorship).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The purpose of the RSS is to let the publishers join the content quickly and automatically. It also benefits the readers who need timely updates from specific websites. The initials "RSS" are used to refer to the following formats: " (RSS 2.0)", " (RSS 0.91)".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain how RSS Works with an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;With the help of RSS, the website authors can maintain a list of notifications on their website in a standard way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;This list can also be used to find out the latest updates even by people.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The RSS aggregators are used to automatically access the RSS feeds and organize the results per your criteria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe the steps to get your RSS file up on the web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Authors add the content on the website through the content management programs. These programs have a publish facility that creates the HTML files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;These programs can even update the RSS feed XML file simultaneously. Thus they add an item that refers to the new content and then they remove old content. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Authors who do not use special tools maintain the XML files on their websites by themselves&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Some services even read requested websites themselves periodically and then determine changes automatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain RSS&lt;span class="apple-converted-space"&gt; &lt;/span&gt;Element. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The &lt;channel&gt; element describes the RSS feed and usually contains one or more elements which define the content in the RSS feed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain child elements of &lt;channel&gt;. i.e. The &lt;category&gt; Element, The &lt;copyright&gt; Element, The &lt;image&gt; Element, The &lt;language&gt; Element &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Child elements of has three required child elements:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;title&gt; which defines the title of the channel like a home page.&lt;br /&gt;&lt;link&gt; which defines the hyperlink to the channel.&lt;br /&gt;&lt;description&gt; which describes the channel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Other than these there are child elements like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;category&gt; specifies a category of a feed&lt;br /&gt;&lt;copyright&gt; notifies about copyrighted material&lt;br /&gt;&lt;image&gt; allows an image to be displayed when aggregators present a feed&lt;br /&gt;&lt;language&gt; specifies the language used to write a document&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What Is RSS (Really Simple Syndication)?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSS is a web based format that is used to display content that is frequently updated. News, weather reports, blogs etc are examples of such content. The Web format is specified using XML. This XML is based on a standard web format that allows the information to be published once and viewed by many different programs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why syndicate your headlines with RSS?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS is a simple mechanism to generate updated      data which can be customized with online portals.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;A website that publishes some news, blogs can      use another website headlines using RSS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS files can be automatically updated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS data is small and loads fast.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain the Relation between RSS and XML?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML or Extensible Markup Language is used to organize generic information with tags in a structured document. Really Simple Syndication is an extension of XML is used to o organize headlines of news. RSS formats are specified using XML and can be considered as an extended schemas of XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how to create an RSS file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSS files use XML as the language to create files. Any RSS file has a number of tags which must be closed properly. The RSS file once complete, must be validated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;To start with the RSS file needs to have a      Title, Description and a link. Example:&lt;br /&gt;     The RSS and the channel tag needs to be opened following which the RSS      feed tags are placed.&lt;br /&gt;     &lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;&lt;br /&gt;     &lt;rss version="2.0"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;channel&gt;&lt;br /&gt;     &lt;title&gt;This is a sample website&lt;/title&gt;&lt;br /&gt;     &lt;link&gt;http://www.sample.com&lt;/link&gt;&lt;br /&gt;     &lt;description&gt;Sample website&lt;/description&gt;&lt;br /&gt;     &lt;language&gt;en-us&lt;/language&gt;&lt;br /&gt;     &lt;/channel&gt;&lt;br /&gt;     &lt;/rss&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The file now needs to be saved with a .xml      extension.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Review the RSS file for any special characters      that XML does not accept like “&amp;amp;:. Such characters need to be escaped.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:#005279;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l3 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia;color:black"&gt;The feed now needs to be      validated. If the validator finds any problems in your feed, it will give      you messages for each type of problem and highlight where the problem      first occurs in your feed&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;      font-family:Arial"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Benefits to RSS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Ability to publish latest updates to the      readers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS displays the news and headlines to      overwhelm the user. If the user wants details, he can click on the link of      the actual content.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS has the ability to control the flow of      information users receive&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;If the user feels that the content quality is      not acceptable, he just needs to remove the feed from the RSS reader to      avoid any content being read from that source.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Allows user to scan information from different      sources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l4 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Can be typically used for weather reports,      blogs, headlines, discounts,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why Create RSS?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS is a very strong technology used to      display latest information from various sources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS can be considered as the most acceptable      standard to publish news.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS can be used to increase site traffic since      different contextual information can be displayed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS is simple to create. RSS can be used as a      source of income on the site as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo4;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Allows user to subscribe or unsubscribe      content coming from different sources in a simple manner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain the disadvantages of RSS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Graphics and photos are not supported by ALL      RSS feeds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;RSS feeds don’t display the actual URL or name      of the website. This may confuse the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Publishers can’t determine the number of users      who must have subscribed using its feed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Publishers cannot know the reason why some      feeds were unsubscribed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Creates more traffic on the site and server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo5;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Finding RSS feeds can be difficult as they may      not appear in search results.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;RSS more effective than Email. Comment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSS avoids the problem of Spam commonly observed in Emails. If the spam filter is ON, it may cause important emails to be rejected. This problem is avoided in RSS since the messages will always reach their intended target as it is with the help of RSS reader or RSS aggregator that fetches the messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain how to use RSS as an autoresponder with RSS Autopublisher.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An autoresponder is used to deliver messages to people who request them. The messages are delivered in a sequential manner. The RSS autoresponders work the same as email autoresponders except that they are used to deliver messages and not emails. The RSS autoresponder will send out messages in a timely manner as specified by the user. Campaign and sales messages are common scenarios where aurotresponder needs to be used. RSS autopublisher is used to publish the autoresponder messages as well as usual RSS feeds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between news aggregators and feed readers?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;RSS feed readers and news aggregators are almost the same and used for reading feeds. News aggregators are used specifically to view news related feeds but technically can read any feeds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What Is Atom in RSS?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An Atom is a XML document used to describe related information which is known as feeds. This document can contain elements or attributes from other XML namespaces. Atom is most commonly used for syndication of Web content such as Weblogs and news headlines to Web sites.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;An example of RSS document with explanation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The first line defines the XML version and the character encoding used in the document. The next line defines the version of RSS. The &lt;channel&gt; element is used to describe the RSS feed. The &lt;channel&gt; element has three tags; &lt;title&gt;, &lt;link&gt; and &lt;description&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;&lt;br /&gt;&lt;rss version="2.0"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:14.0pt;font-family:Georgia;mso-bidi-font-family:Arial; color:black;font-weight:normal"&gt;&lt;channel&gt;&lt;br /&gt;&lt;title&gt;This is a sample website&lt;/title&gt;&lt;br /&gt;&lt;link&gt;http://www.sample.com&lt;/link&gt;&lt;br /&gt;&lt;description&gt;Sample website&lt;/description&gt;&lt;br /&gt;&lt;language&gt;en-us&lt;/language&gt;&lt;br /&gt;&lt;/channel&gt;&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-2525831480565294533?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/2525831480565294533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/rss-interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2525831480565294533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/2525831480565294533'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/rss-interview-questions.html' title='RSS interview questions'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4282724602102798930</id><published>2010-02-08T05:51:00.001-08:00</published><updated>2010-02-08T05:53:13.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>XSLT and XPATH</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSLT?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSLT stands for XSL Transformations and is a language used to transform XML documents into XHTML documents or to other XML documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What are the roles of XSLT?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The roles of XSLT are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSLT is used to transform an XML document into another XML document such as HTML, etc.&lt;br /&gt;XSLT can be used to add or remove elements and attributes to or from the output file.&lt;br /&gt;XSLT can also be used for rearranging and sorting elements.&lt;br /&gt;It can also be used for performing tests and making decisions about hiding and displaying of elements&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;XSLT and XPATH- &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt; What is XSLT? Explain its relationships with XSL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSLT stands for eXtensible Stylesheet Language Transformations. It is a language used to convert XML documents to XHTML or other XML documents. This conversion is done by transforming each XML element into an (X)HTML element.. it uses XPath to find information in a XML document. XSLT is nothing but transforming XSL’s. Xpath defines the parts of the source document that must match one or more predefined templates. Once a match is found, XSLT will transform the match into the result document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSLT stylesheet?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSL stylesheet is just like a XML document used as a program text or a source. It contains sets of rules and instructions used for transformations. XSLT stylesheet along with the XML source documents are the inputs to the XSLT processor. The template rule contains two parts: a pattern used to match the nodes in the source document and a template which can be instantiated to form part of the result tree. A stylesheet is represented by an xsl:stylesheet element in an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Discuss the role of XPATH.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XPATH is used to scan the XML document for navigation of elements and attributes. It contains a library of standard functions string ad numeric values. For navigation, XPATH makes use of path expressions to select nodes or sets of nodes in a XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain the XSLT data model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSLT shares the same data model of XPATH with some additions. XSLT accepts a XSLT stylesheet as an input and output is another XML, text or another document. The model is based on text nodes. These text nodes are embedded within element nodes. The model is a hierarchical structure like a tree. The tree has a variety of nodes like- text nodes, attribute nodes, element nodes, comment nodes, and processing instruction nodes. For every node type there is a way of determining a string-value for a node of that type.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why the need for XHTML?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;If a script in an HTML document is not well formed, small devices like mobile phones fail to display the content properly. Also, upgrading all the browsers to support XML is a timely affair. An intermediate solution is XHTML that is a combination of HTML and XML. In XTML the content has to be well formed so that there is no bad HTML&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;XHTML vs HTML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;XHTML&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Elements must be properly nested&lt;br /&gt;Elements must be closed&lt;br /&gt;Elements must be in lowercase&lt;br /&gt;Documents must have one root element&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;HTML&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Elements need not be properly nested&lt;br /&gt;Elements need not be always closed&lt;br /&gt;Elements need not be in lowercase&lt;br /&gt;Documents need not have one root element&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain the XHTML syntax rules.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Some Syntax rules that need to be followed with XHTML are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;That Attribute names must be in lower case, their values must be in quotes and their minimization is done away from usage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Also the ‘name’ attribute has been replaced by the ‘id’ attribute. The XHTML DTD defines mandatory elements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the XMLHttpRequest Object?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The XMLHttpRequest object is used to connect to the server through http. Scripts use it to do so programmatically. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The EventTarget interface needs to be implemented if an object implements the XMLHttpRequest interface. Also, an XMLHttpRequest() constructor needs to be provided by objects that implement the Window interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain common XMLHttpRequest Object Properties. i.e. onreadystatechange, readyState, responseText, responseXML, status, statusText. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘onreadystatechange’ property fires at      every state change event.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘readyState’ property is an object status      integer. It uses the integers 0 to 4 for uninitialized, loading, loaded,      interactive and complete states.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘responseText’ property is a string      version of data returned from server process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘responseXML’ property is DOM-compatible      document object of data returned from server process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘status’ property is for returning numeric      codes from the server like error codes, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The ‘statusText’ property is used for string      messages that accompany the status code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain common XMLHttpRequest Object Methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The abort() is used to stop the current      request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The getAllResponseHeaders() method is used to      return the full set of headers as a string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The getResponseHeader("headerLabel")      method is used to return the string value of a single header label.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The open("method", "URL"[,      asyncFlag[, "userName"[, "password"]]]) is used to      assign the destination URL, method, and other optional attributes of a      request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The send(content) method transmits the      request, optionally with postable string or the data of DOM object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The setRequestHeader("label",      "value") method is used to assign a label/value pair to the      header to be sent with a request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4282724602102798930?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4282724602102798930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/xslt-and-xpath.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4282724602102798930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4282724602102798930'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/xslt-and-xpath.html' title='XSLT and XPATH'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4064809770183703252</id><published>2010-02-08T05:50:00.000-08:00</published><updated>2010-02-08T05:53:13.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What is the DOM?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;DOM is a platform independent, World Wide Web Consortium (W3C) standard form of representation of structured documents as an object-oriented model. It is an application programming interface so as to access HTML and XML documents. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the HTML DOM?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The HTML DOM API specializes and adds the functionality to relate to HTML documents and elements. It addresses the issues of backwards compatibility with the Level 0 of DOM and provides mechanisms for common and frequent operations on HTML documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the XML DOM?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Microsoft’s MSXML DOM provides an API for working with XML data. It also provides a programmatic representation of XML documents, fragments, nodes, or node-sets. It is a W3C standard form of XML representation. XML DOM objects can be used in XML applications written in C/C++, VB, VBScript and JScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the XMLHttpRequest Object?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The XMLHttpRequest object is used to connect to the server through http. Scripts use it to do so programmatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The EventTarget interface needs to be implemented if an object implements the XMLHttpRequest interface. Also, an XMLHttpRequest() constructor needs to be provided by objects that implement the Window interface. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;i&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;XSL-FO - &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSL-FO?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSL-FO stands for Extensible Stylesheet Language Formatting Objects. It is used to format XML data and is also a W3C recommendation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSL-FO Documents? Explain XSL-FO Documents structure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSL-FO documents are XML files (.fo / .fob OR .xml – for being accessible by XML editors) with output information about the layout and contents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Document Structure:&lt;br /&gt;As usual they need to start with the version and the encoding declaration:&lt;br /&gt;&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;fo:root&gt; &lt;/fo:root&gt;&lt;br /&gt;Namespace attribute can be written as:&lt;br /&gt;&lt;fo:root fo="http://www.w3.org/1999/XSL/Format"&gt;-----------------Root element of XSL-FO documents. You can have the whole document within these tags.&lt;br /&gt;&lt;fo:layout-master-set&gt; ----------------Contains page templates&lt;br /&gt;&lt;fo:simple-page-master&gt;----------------Contains a single page template&lt;br /&gt;&lt;fo:page-sequence&gt; ------------------------Describes the page contents&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSL-FO Processors?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XSL-FO processors (e.g. XSL Formatter, Xinc Beta Release, Scriptura) are programs that format XSL document output.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Most of them can also output PDF documents, quality print, HTML etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;i&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;XML Attributes &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain XML Attributes with an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The attributes in XML provide additional information about elements. Take a look at the following example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;book name =" “Da"&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;”&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;XML Elements vs. Attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML elements as well as attributes can be used to provide the same information about an entity in an XML database. The only difference lies in the way they are written. For example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;book name =" “Da"&gt; ..... is an example of using attributes. &lt;br /&gt;The same information can be provided in the element form as follows:&lt;br /&gt;&lt;book&gt;&lt;br /&gt;&lt;name&gt;Da Vinci Code&lt;/name&gt;&lt;br /&gt;&lt;/book&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What are the problems with using XML attributes?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size: 12.0pt;font-family:Georgia;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;color:black;mso-ansi-language:EN-US; mso-fareast-language:EN-US;mso-bidi-language:AR-SA"&gt;It is preferred storing the data using the XML elemental form as it becomes very convenient to access and modify the data. Also the use of attributes is limited as they cannot contain multiple values, cannot contain tree structures nor are expandable&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4064809770183703252?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4064809770183703252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-dom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4064809770183703252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4064809770183703252'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-dom.html' title='What is the DOM?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1071368266620524761</id><published>2010-02-08T05:49:00.002-08:00</published><updated>2010-02-08T05:53:13.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What are XML indexes and secondary XML indexes?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;The primary XML index is a B+tree and is useful because the optimizer creates a plan for the entire query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It is always better to split the entire XML columns into relational rows and columns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The primary XML index contains one row for each node in the XML instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The secondary XML indexes can be created to enhance the performance.&lt;br /&gt;There are the types of secondary indexes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;PATH secondary XML index&lt;br /&gt;If the use of path expressions on XML columns is prominant, the PATH secondary XML index can speed up the task.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;VALUE secondary XML index&lt;br /&gt;The VALUE index can be used if your task involves quering unknown attribute names.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;PROPERTY secondary XML index&lt;br /&gt;Clustering paths within each XML instance in the PROPERTY index can be beneficial when multiple values are retrieved from individual XML instances. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the purpose of FOR XML in SQL Server?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;SQL Server 2000 provides the facility to retrieve data in the form of XML with the help of the FOR XML clause appended to the end of a SELECT statement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;There are 3 types of FOR XML modes — RAW, AUTO, and EXPLICIT.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;They all generate a different style of XML document&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the OPENXML statement in SQL Server?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Going through thousands of lines of XML degrades performance to a great extent.This is where the OPENXML function comes into use. It does the parsing work for you quite efficiently.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The syntax of OPENXML is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;OPENXML(idoc int [in],rowpattern nvarchar[in],[flags byte[in]]) [WITH (SchemaDeclaration | TableName)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;OPENXML function is supposed to be used with two system stored procedures:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;1.sp_xml_preparedocument&lt;br /&gt;2.sp_xml_removedocuments  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1071368266620524761?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1071368266620524761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-are-xml-indexes-and-secondary-xml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1071368266620524761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1071368266620524761'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-are-xml-indexes-and-secondary-xml.html' title='What are XML indexes and secondary XML indexes?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1260276079546611202</id><published>2010-02-08T05:49:00.001-08:00</published><updated>2010-02-08T05:53:13.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What is XML Serialization and Binary Serialization?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial"&gt;XML Serialization&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;makes it possible to convert any common language runtime objects into XML documents or streams and vise versa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The XML Serialization enables it to convert XML documents into such a meaningful format that the programming languages can process the converted documents with ease.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Binary serialization&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;converts the files to a binay format. In this case all the data get converted into a binary format which is not a human readable format. In binary serialization entire object state is saved, instance identity is preserved and it graphs with multiple references can be handled in this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML serialization doesnt allow these&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt; things. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;XML Serialization &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XML Serialization and Binary Serialization?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML serialization is all about serializing an object into an XML file. Being an XML file is a flat text file, the file can be viewed, shared by another application. It is a stream of characters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML serialization is called shallow serialization because it can serialize only public objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Binary serialization is all about serializing an object into a Binary file. Being a binary file is a compact file and cannot be seen like a text file. In binary serialization, image objects can also be serialized. It is a stream of bytes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Binary serialization is called Deep serialization because it can serialize the object containing references to the other objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In Binary serialization the entire object state is saved where as in XML serialization only some of the object data is saved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1260276079546611202?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1260276079546611202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml-serialization-and-binary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1260276079546611202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1260276079546611202'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml-serialization-and-binary.html' title='What is XML Serialization and Binary Serialization?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4210798268109057314</id><published>2010-02-08T05:48:00.001-08:00</published><updated>2010-02-08T05:53:13.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What is XML Namespace?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;A namespace is a qualified name that is associated with the XML DTD / Schema location. The prefix ‘xmlns’ to a tag specifies the namespace of that tag. Usually the namespace tag is defined in the beginning tag of an element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;What is XML data binding?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-family:Georgia;font-size:12.0pt;color:black;"&gt;XML data binding refers to the process of representing the information in an XML document as an object in computer memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The limitations of data binding include round tripping of elements and attributes. XML data binding product generates documents that are invalid because of sibling order. They do not preserve physical constructs. They do not preserve comments and processing instructions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;What is an XML encoding error?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-family:Georgia;font-size:12.0pt;color:black;"&gt;XML documents can contain non ASCII characters, like Norwegian æ ø å , or French ê è é which introduce errors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;The 2 types are:&lt;br /&gt;An invalid character was found in text content.&lt;br /&gt;Switch from current encoding to specified encoding not supported.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi- font-family:Georgia;font-size:12.0pt;color:black;"&gt;You can avoid these errors by specifying the XML encoding Unicode.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4210798268109057314?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4210798268109057314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml-namespace.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4210798268109057314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4210798268109057314'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml-namespace.html' title='What is XML Namespace?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-6181199658820071466</id><published>2010-02-08T05:47:00.000-08:00</published><updated>2010-02-08T05:53:13.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Explain the difference between DOM and SAX.</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;SAX parser works incrementally and generates events that are passed to the application. DOM parser reads the whole XML document and returns a DOM tree representation of xml document&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In DOM the xml file is arranged as a tree and backward and forward search is possible In SAX traversing in any direction is not possible as Top to bottom approach is used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;SAX is essentially an API for reading XML, and not writing it. DOM allows you to read and write. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;XML DOM and SAX - &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt; Explain the features of DOM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;DOM is Document Object Model. It is used to read data from a XML document. It is more commonly used in applications where data in the document needs to be repeated accessed. DOM supports navigation in any direction. XML DOM is typically used for XML documents. The DOM defines the objects and properties of all document elements, and the methods (interface) to access them&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is SAX? Explain its features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;SAX is Simple API for XML. It is used to read data from a XML document. A parser that uses SAX parses the XML serially. The API is event driven and these events are fired when the XML features are encountered. XML parsing is unidirectional. Memory used by a SAX parses is relatively low. Due to the event nature of SAX, the parsing is faster of an XML document&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XML Namespace?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;An XSL sheet or a document may have duplicate elements and attributes. Therefore, the XML namespaces define a way to distinguish between duplicate element types and attribute names.&lt;br /&gt;An XML namespace is a collection of element type and attribute names. It is a URI due to which any element type or attribute name in an XML namespace can be uniquely identified.&lt;br /&gt;It consists of two parts : the name of the XML namespace and the local name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;e.g.: xmlns: h=”http://www.abc.com”&lt;br /&gt;After this, you can write&lt;br /&gt;&lt;h:table&gt;&lt;br /&gt;……..&lt;br /&gt;&lt;/h:table&gt;&lt;br /&gt;to associate the table with the declared namespace. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-6181199658820071466?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/6181199658820071466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-difference-between-dom-and-sax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6181199658820071466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6181199658820071466'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/explain-difference-between-dom-and-sax.html' title='Explain the difference between DOM and SAX.'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-3499218993927060091</id><published>2010-02-08T05:46:00.000-08:00</published><updated>2010-02-08T05:53:13.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What is XML?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XML, Extensible Markup Language, is an open, text based markup language that provides structural and semantic information to data. XML is a metalanguage that can be used to create other language. It is used to structure and describe data that can be understood by other applications. Using XML, we can separate the user interface from data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Features of XML&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XML is a generalized markup language that means one can define his/her own tag sets.&lt;br /&gt;A valid XML document contains rules and is self-describing.&lt;br /&gt;The rules that are found in DTD allow the documents to be validated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe the logical structure of XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XML documents comprise of declaration, elements and comments&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;XML Declaration&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;It identifies the version to which XML conforms&lt;br /&gt;&lt;?xml version = "1.0"?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Document Type Declaration&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;It consists of markup code that indicates grammar rules or Document Type Definition (DTD) for the particular class of document.&lt;br /&gt;&lt;! DOCTYPE Car SYSTEM "cr.dtd"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;This statement tells the XML processor that the document is of the class Car that conforms the rules specified in the DTD "cr.dtd&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Document element&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;The document element contains data of an XML document&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why is XML so popular?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Due to the following advantages of using XML, it has become popular:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;It supports Unicode. Therefore documents      written in any human language can be communicated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Data structures: records, lists and trees can      be represented using XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Its format describes structure, field names      and their specific values too. Its therefore called self-documenting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Its syntax and parsing requirements make the      necessary parsing algorithms very simple, efficient, and consistent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;It can be used as a document storage and      processing format.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;It is platform-independent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why is XML referred as self-describing data?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Text labels inside of XML's syntactic delimiters that cause most people to think that XML is self-describing. But these tags aren't part of XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Choosing the terms used for tags or naming anything is often a difficult and contentious activity. Everyone naturally creates names that make sense to them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;However, XML is not self describing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Why is XML extensible?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Extensibility is another attribute of XML. XML is short of "eXtensible Markup Language. This is so because a developer may easily create his own XML syntax for any applications he wishes to use it for. Any other developer, once having learned how to use his own language's XML parsing routines, can use any XML-based format currently available&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;XML is a secured language for information exchange over the network. Explain&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Applications require a secure exchange of structured data. XML encryption can ensure this by providing end-to-end security as it is iitself a widely used data structuring technology.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML encryption addresses the issues not covered in by the TLS which are encrypting part of the data that is being exchanged and secure sessions between multiple parties.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML Encryption can handle XML as well as binary data&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;List the rules to be followed by an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Following rules need to be followed by an XML document:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;They must have a root tag, the document should be well formed : the tags should be properly closed, since XML is case sensitive, one should take care that the documents are written with proper care and the attribute values should be inside “”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain about XML Canonicalization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Canonicalization refers to finding the simplified form of an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML files may not contain the same sequence of characters (bytes or octets) even if they are logically equivalent. This is where we need to canonicalize them and check their canonical forms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Steps to canonicalize an XML document&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Encoding schemes should represent characters      by octets.XML documents should be encoded in UTF-8 encoding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;The canonical form needs all line breaks to be      #xA.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l2 level1 lfo2;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;All attributes need to be normalized in      canonical form. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Define DTD (Document Type definition).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;DTD - Document Type Definition defines the legal building blocks of an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It defines the document structure with a list of legal elements and attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML DTD is a rule book that an XML document follows. Once DTD is ready, you can create number of XML documents following the same rules specified in the DTD. DTD can be internal or external DTD. The internal DTD is included in the XML document, while external DTD exists outside the content of the documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain DTD and schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;A DTD provides a list of the elements, attributes, comments, notes, and entities contained in an XML or HTML document and indicates their relationship with each other.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The 'DOCTYPE' tells the browser that it is a Document Type Declaration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Some commonly used attribute types are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;CDATA The value is character data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;ID The value is a unique id&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;IDREF The value is the id of another element&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l1 level1 lfo3;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;IDREFS The value is a list of other ids&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Schema means the organization and the structure of a database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;E.g.: An XML schema is a description of XML document. It is expressed in terms of constraints on the structure and content of documents. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;XML XML DTD &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Define XML DTD.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XML DTD is a rule book that an XML document follows. Once DTD is ready, you can create number of XML documents following the same rules specified in the DTD. DTD can be internal or external DTD. The internal DTD is included in the XML document, while external DTD exists outside the content of the documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is a CDATA section in XML?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;CDATA - (Unparsed) Character Data&lt;br /&gt;The term CDATA is used when you dont want some text data to be parsed by the XML parser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A CDATA section starts with "&lt;![CDATA[" and ends with "]]&gt;": &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;XML - CDATA section in XML &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is a CDATA section in XML?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The CDATA section of XML is used to describe the text that should not be parsed by the XML parser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The characters like "&lt;" "&gt;" are not supported in XML&lt;br /&gt;"&lt;" will cause an error by the parser. Because the parser identifies &lt;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Any text that is included in CDATA section is ignored by the parser.&lt;br /&gt;Example :&lt;br /&gt;&lt;![CDATA[" &lt;&gt; are used to enclose an element in XML "]]&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XSL?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XSL is a language for expressing style sheets. An XSL style sheet is a file that describes the way to display an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Using XSL stylesheets, we can separate the XML document content and its styling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An XSL style sheet begins with the XML declaration:&lt;br /&gt;&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;&lt;br /&gt;&lt;xsl:stylesheet&gt; defines that the document is an XSLT style sheet document.&lt;br /&gt;The &lt;xsl:template&gt; element defines a template.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Define CSS and XSL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XSL is a language for expressing style sheets. An XSL style sheet is a file that describes the way to display an XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Cascading Style Sheets is an answer to the limitations of HTML, where the structure of documents was defined and not the display. CSS formats documents for display in browsers that support it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How do you display XML with XSLT?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;First you need to declare the XSL style sheet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;xsl:stylesheet version="1.0"&lt;br /&gt;xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Then,&lt;br /&gt;you create an XSL Style Sheet with a transformation template.&lt;br /&gt;Add the XSL style sheet reference to your XML document to link them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XQuery?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Xquery is a query language that is used to retrieve data from XML documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XQuery is a way to query the XML data, It is built on XPath expressions and is supported by quite a few database engines.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It can find and extract elements and attributes from XML documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;XQuery is written in FLWOR fashion which stands for: For, Let, Where, Order by, Return&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An example of XQuery is:&lt;br /&gt;for $x in doc("abc.xml")/abc_name&lt;br /&gt;where $x/a&gt;30&lt;br /&gt;order by $x/b&lt;br /&gt;return $x/c&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XPATH?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;XPath is a language that describes how to locate specific elements (and attributes, processing instructions, etc.) in a document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;An XSL sublanguage designed to uniquely identify or address parts of a source XML document, for use with XSLT.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;It is based on a tree representation of XML document. It provides the ability to navigate around the tree and to select the nodes by a variety of criteria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The simplest XPath is /A/B/C where C is the child of B, B child of A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is XMLA ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;XML for Analysis,&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;It is a Microsoft specified XML-messaging-based protocol for exchanging analytical data between client applications and servers using HTTP and SOAP as a service on the Web.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is DOM?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;DOM is an interface-oriented Application Programming Interface. It allows for navigation of the entire document. A DOM document can be created by a parser, or can be generated manually by users. Data types in DOM Nodes are abstract. DOM implementations generally require the entire document to be loaded into memory and constructed as a tree of objects before access is allowed. DOM is supported in Java. Its specification is regulated by the World Wide Web Consortium.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-3499218993927060091?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/3499218993927060091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3499218993927060091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/3499218993927060091'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-xml.html' title='What is XML?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1473154840648951806</id><published>2010-02-08T05:45:00.000-08:00</published><updated>2010-02-08T05:46:40.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>How do you assign object properties in JavaScript?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;JavaScript window Object Properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.closed - indicates whether a window has been closed or not.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.defaultstatus / window.status - specifies the default message / message displayed in the browser status bar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.frames[] - This array holds the array of frame objects of the window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.name - Contains the name of the window object. (Windows opened by a script need to have a name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.opener - contains a reference of the parent window which opened it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.parent - contains a reference to the window object that contains the frame&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.screen - contains information about the screen on which the window is displayed like height, width, availHeight, availWidth and colorDepth.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.self - A reference to the current window.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.top - A reference to the top-level window when working with frames&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1473154840648951806?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1473154840648951806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/how-do-you-assign-object-properties-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1473154840648951806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1473154840648951806'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/how-do-you-assign-object-properties-in.html' title='How do you assign object properties in JavaScript?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-865898446041642149</id><published>2010-02-08T05:42:00.000-08:00</published><updated>2010-02-08T05:46:40.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Methods GET vs. POST in HTML forms.</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Encoding form data into URL is needed by the GET method. The form data is to be appeared within the message body , by the POST method. By specification, GET is used basically for retrieving data where as POST is used for data storing, data updating, ordering a product or even e-mailing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - Methods GET vs. POST in HTML forms &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The GET method in the HTML forms passes the form values by setting the URL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Eg: If you type the word ‘Hello’ in Google Search, it sets the following URL:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;a href="http://www.google.co.in/search?hl=en&amp;amp;q=hello&amp;amp;btnG=Search&amp;amp;meta=&amp;amp;aq=f&amp;amp;oq"&gt;&lt;span style="color:black;text-decoration:none;text-underline:none"&gt;http://www.google.co.in/search?hl=en&amp;amp;q=hello&amp;amp;btnG=Search&amp;amp;meta=&amp;amp;aq=f&amp;amp;oq&lt;/span&gt;&lt;/a&gt;=&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The POST method sends the data to the server without setting the URL:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Eg:&lt;br /&gt;-----------------------------97891525516423&lt;br /&gt;Content-Disposition: form-data; name="username"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;aaaa&lt;br /&gt;-----------------------------97891525516423&lt;br /&gt;Content-Disposition: form-data; name="password"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;bbbbb12345&lt;br /&gt;-----------------------------97891525516423&lt;br /&gt;Content-Disposition: form-data; name="submit"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Submit&lt;br /&gt;-----------------------------97891525516423--&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - What does the EnableViewStateMac setting in an aspx page do? -  &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Opening Browser Windows using JavaScript&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;newWindowObj = window.open("URL", "WindowName", " EnableViewStateMac setting is a security measure in ASP.Net. It ensures the view state for a page not to tamper. To to so “ EnableViewStateMac=true “is used. ASP.net detects the change in the value of view state sent to the browser when Postback action takes place and raises an error – “Validation of view state MAC failed”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - What does the EnableViewStateMac setting in an aspx page do? &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;EnableViewStateMac is a security measure used by ASP.NET in order to ensure that the viewstate for a page has not been tampered with.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;ASP.NET raises an error (Validation of viewstate MAC failed) if it detects that there has been a change in the value of viewstate that was sent to the browser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - What are windows object and navigator object in JavaScript? -  &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Windows object is top level object in Java script. It contains several other objects such as, document, history, location, name, menu bar etc., in itself. Window object is the global object for Java script that is written at client-side.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Information pertaining to the client browser and system is returned by the navigator object of JavaScript. Navigator object is the top level object for all users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - What are windows object and navigator object in JavaScript? &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The details of the client browser can be obtained sing JavaScript. Details such as client name, version, codename and the platform can be obtained.&lt;br /&gt;navigator.appName - Gives the name of the browser&lt;br /&gt;navigator.appVersion - Gives the browser version&lt;br /&gt;navigator.appCodeName - Gives the browser codename&lt;br /&gt;navigator.platform - Gives the platform on which the browser is running&lt;br /&gt;The JavaScript Window Object is the top level JavaScript object which corresponds to the web browser window.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;feature, feature, feature ... ");&lt;br /&gt;features - A comma separated list of features that allow you to customize the appearance of the window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to detect the operating system on the client machine in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The navigator.appVersion string should be used to find the name of the operating system on the client machine. The following code snippet returns the appropriate Operating systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;var OSName="Unknown OS";&lt;br /&gt;if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";&lt;br /&gt;if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";&lt;br /&gt;if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";&lt;br /&gt;if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to detect the operating system on the client machine in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;navigator.platform returns the platform on which the browser is running&lt; /P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-865898446041642149?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/865898446041642149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/methods-get-vs-post-in-html-forms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/865898446041642149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/865898446041642149'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/methods-get-vs-post-in-html-forms.html' title='Methods GET vs. POST in HTML forms.'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-8209923591524246518</id><published>2010-02-08T05:41:00.001-08:00</published><updated>2010-02-08T05:46:40.720-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>JavaScript vs. Jscript</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:red"&gt;JavaScript&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt; is a scripting language developed by Netscape Communications.&lt;br /&gt;The Netscape Navigator interprets JavaScript embedded into Web pages.&lt;br /&gt;JavaScript is used for developing web applications.&lt;br /&gt;It is not dependent on Sun Microsystem's Java language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:red"&gt;JScript&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Microsoft JScript is an open implementation of Netscape's JavaScript.&lt;br /&gt;JScript is a scripting language designed to create active online content. ActiveX controls, Java programs, etc can be linked and automated in the web pages using JScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between Client side JavaScript and Server side JavaScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Client side java script comprises the basic language and predefined objects which are relevant to running java script in a browser. The client side java script is embedded directly by in the HTML pages. This script is interpreted by the browser at run time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Server side java script also resembles like client side java script. It has relevant java script which is to run in a server. The server side java scripts are deployed only after compilation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between Client side JavaScript and Server side tJavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Client-Side JavaScript (CSJS)&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;It is JavaScript that enables the enables web pages on browsers to run active online content&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Server-Side JavaScript (SSJS)&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;It is JavaScript that enables back-end access to databases, file systems, and servers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Where are cookies actually stored on the hard disk?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The storage of cookies on the hard disk depends on OS and the browser. The Netscape navigator on Windows, the file cookies.txt contains all the cookies. The path is :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;c:\Program Files\Netscape\Users\username\cookies.txt&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The Internet Explorer stores the cookies on a file by name username@website.txt is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;c:\Windows\Cookies\username@Website.txt&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - Where are cookies actually stored on the hard disk? &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;This depends on the user's browser and OS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In the case of Netscape on Windows OS, its stored in cookies.txt&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In IE, each cookie is stored in a file and has is named as username@website.txt.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;em&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279;font-style:normal"&gt;JavaScript - What is the difference between a web-garden and a web-farm? -  &lt;/span&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Web garden is a web hosting system. It is a setup of multi processors in single server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Web farm is a web hosting system. It is a multi-server scenario&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between a web-garden and a web-farm?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The term ‘Web Farm’ indicates a business that performs Web site hosting on multiple servers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The term ‘&lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Web&lt;/st1:placename&gt;  &lt;st1:placetype st="on"&gt;Garden&lt;/st1:placetype&gt;&lt;/st1:place&gt;’ means a multi-processor machine&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between SessionState and ViewState?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The values of controls of a particular page of the client browser is persisted by ViewState at the time of post back operation is done. If the user requests another page, the data of previous page is no longer available.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The data of a particular server persists in the server by SessionState. The availability of the user data is up to the completion of a session or closure of the browser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A ViewState is a state of a page within a browser wherein the values of controls persist when post back operation is done.&lt;br /&gt;When another page is loaded, the previous page data is no longer available.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;SessionState is the data of a user session and is maintained on the server side. This data available until user closes the browser or session time-outs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to Accessing Elements using javascript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The elements of JavaScript are accessed by their names. By default the browser is accessed by the element ‘windows’ and the page by ‘document’. The corresponding element has user defined names for forms and its elements. For example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;var passwd = windows.document.frmLogin.password.value;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;assigns the value of the password field of the form fromLogin in the current document, where password is the name of the element and frmLogin is the name of the form. Like wise any form element is accessed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to Accessing Elements using javascript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Following are some of the functions with which the elements can be retrieved:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;getElementById()&lt;br /&gt;getElementByName()&lt;br /&gt;getElementByValue()&lt;br /&gt;getElementByTag()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is the difference between undefined value and null value?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Undefined value&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:Georgia;color:black"&gt;: A value that is not defined and has no keyword is known as undefined value. For example in the declaration, int number; the number has undefined value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Null value:&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A value that is explicitly specified by the key word ‘null’ is known as null value. For example in the declaration, String str=null; the str has a null value. The keyword ‘null’ is used here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;null value has keyword called ‘null’. That is not the case with undefined.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;typeof undefined variable or property returns undefined whereas&lt;br /&gt;typeof null value returns object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to set the cursor to wait in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The cursor can set to wait in JavaScript by using the property ‘cursor’ property. The following example illustrates the usage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;window.document.body.style.cursor = "wait"; // sets the cursor shape to hour-glass.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to set the cursor to wait in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;html&gt;&lt;br /&gt;&lt;div style="width: 100px; height: 100px; background: yellow; cursor: wait"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A moue over this yellow patch will show you the wait cursor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/html&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is decodeURI(), encodeURI() in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;To send the characters that can not be specified in a URL should be converted into their equivalent hex encoding. To perform this task the methods encodeURI() and decodeURI() are used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;For example, the following code snippet performs the encoding of URL:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;          var uri = http://www.mysite.com/city?=Banglore; // original URI&lt;br /&gt;          var ncodeuri=encodeURI(uri);&lt;br /&gt;          document.write("&lt;br /&gt;ncodeuri”);&lt;br /&gt;          var dcodeuri = decodeURI(ncodeuri);&lt;br /&gt;          document.write(“&lt;br /&gt;/&gt;dcodeuri”);&lt;br /&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is decodeURI(), encodeURI() in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;These functions are used to encode and decode the URIs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Eg:&lt;br /&gt;String: Career Ride&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Operation: encodeURI()&lt;br /&gt;Output: Career%20Ride&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Operation: decodeURI()&lt;br /&gt;Output: Career Ride&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-8209923591524246518?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/8209923591524246518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/javascript-vs-jscript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8209923591524246518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8209923591524246518'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/javascript-vs-jscript.html' title='JavaScript vs. Jscript'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1088219682350681559</id><published>2010-02-08T05:41:00.000-08:00</published><updated>2010-02-08T05:46:40.720-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>What is JavaScript?</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;JavaScript is a scripting language most often used for client-side web development&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What boolean operators does JavaScript support?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;==&lt;br /&gt;!=&lt;br /&gt;&lt;&lt;br /&gt;&gt;&lt;br /&gt;&lt;=&lt;br /&gt;&gt;=&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Is a javascript script faster than an ASP script?  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;JSP is faster then ASP as the script is run on the client side. Only the computation is done on the server side.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is == operator ?     &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;The ‘==’ operator is a boolean comparison operator that returns true if the variables on its both sides are compared equal else it returns false.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is negative infinity?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size: 12.0pt;font-family:Georgia;color:black"&gt;It’s a number that is obtained by dividing a negative number by zero. (in JSP)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What’s relationship between JavaScript and ECMAScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;JavaScript is a scripting language most often used for client-side web development. It was the originating dialect of the ECMAScript standard. ECMAScript and LiveScript are other names for JavaScript. The current JavaScript that is supported in browsers is ECMAScript revision 3.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What does isNaN function do?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;The isNaN function determines if the value is a number or not and depending upon the result, it returns true or false.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to read and write a file using javascript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;h5 style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;There are two ways to do it:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;1. Using JavaScript extensions (runs from JavaScript Editor), or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;2. Using a web page and ActiveX objects (Internet Explorer only)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In JavaScript Extensions, you can use&lt;br /&gt;fh = fopen(getScriptPath(), 0); to open a file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Using ActiveX objects, following should be included in your code to read a file:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;var fso = new ActiveXObject("Scripting.FileSystemObject");&lt;br /&gt;var s = fso.OpenTextFile("C:\\example.txt", 1, true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How do you create a new object in JavaScript?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;In order to generate dynamic content, JSP provides for creating, modifying and interacting with Java objects. The implicit objects like page, config, request, etc are called so because their availability in the in JSP page is automatic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Also, along with using constructor functions (e.g. var mything = new myObject();), you can use Object Initializers to create objects in JSP.&lt;br /&gt;E.g:&lt;br /&gt;var myCar = {color:"white",wheels:4,engine:{cylinders:4,size:2.2}};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;How to create arrays in JavaScript? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Although you can create the arrays using ‘new’ (var myArray = new myArray[10];), it is recommended that you create it in the following way: var myArray = [];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;You don't need to tell Javascript how many items to size the Array for. Javascript automatically increases the size of the Array as needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1088219682350681559?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1088219682350681559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1088219682350681559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1088219682350681559'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/what-is-javascript.html' title='What is JavaScript?'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-4528085537459285198</id><published>2010-02-08T05:39:00.000-08:00</published><updated>2010-02-08T05:41:15.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>CSS Interview questions and answers</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain in brief about the term CSS.    &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;A stylesheet language used to describe the presentation of a document written in a markup language. Cascading Style Sheets are a big breakthrough in Web design because they allow developers to control the style and layout of multiple Web pages all at once.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What are the various style sheets? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Inline, external, imported and embedded are the different types of style sheets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What are style sheet properties?   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;CSS Background&lt;br /&gt;CSS Text&lt;br /&gt;CSS Font&lt;br /&gt;CSS Border&lt;br /&gt;CSS Outline&lt;br /&gt;CSS Margin&lt;br /&gt;CSS Padding&lt;br /&gt;CSS List&lt;br /&gt;CSS Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;List various font attributes used in style sheet.       &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;font-style&lt;br /&gt;font-variant&lt;br /&gt;font-weight&lt;br /&gt;font-size/line-height&lt;br /&gt;font-family&lt;br /&gt;caption&lt;br /&gt;icon&lt;br /&gt;menu&lt;br /&gt;message-box&lt;br /&gt;small-caption&lt;br /&gt;status-bar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain inline, embedded and external style sheets. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Inline&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;If only a small piece of code has to be styled then inline style sheets can be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Embedded&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Embedded style sheets are put between the &lt;head&gt; &lt;/head&gt; tags.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;External&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;If you want to apply a style to all the pages within your website by changing just one style sheet, then external style sheets can be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-4528085537459285198?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/4528085537459285198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/css-interview-questions-and-answers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4528085537459285198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/4528085537459285198'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/css-interview-questions-and-answers.html' title='CSS Interview questions and answers'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1859259512467211612</id><published>2010-02-08T05:36:00.000-08:00</published><updated>2010-02-08T05:40:29.084-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Index tuning &amp; database partitioning</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;What is “Index Tuning Wizard”?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Index Tuning Wizard is a software application that identifies tables which have inefficient indexes. It makes recommendations on how indexes should be built on a database to optimize performance. The recommendations are based on T-SQL commands that the wizard analyzes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;List out what Index Tuning Wizard can do.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;ul type="square"&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;It identifies tables in need of an index      change&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Implements recommendations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Determines how a proposed change might affect      performance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Has the capability to make indexes change      immediately and schedule them&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;line-height:11.25pt;mso-list:l0 level1 lfo1;tab-stops:list .5in"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:      12.0pt;font-family:Georgia"&gt;Helps to tune indexes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain how partitioning an important part of database optimization is.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Partitioning distributes database tables over different database which may reside on a different server. Vertical portioning helps to fit more rows on a database page to improve data access performance. Partitioning helps to do multiple tasks simultaneously. It increases performance. It helps to manage data. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-1859259512467211612?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/1859259512467211612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/index-tuning-database-partitioning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1859259512467211612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/1859259512467211612'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/index-tuning-database-partitioning.html' title='Index tuning &amp; database partitioning'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-8186364013833264835</id><published>2010-02-08T05:35:00.002-08:00</published><updated>2010-02-08T05:40:29.085-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL Server distributed queries</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;SQL Server distributed queries - &lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Distributed queries access data from multiple heterogeneous sources. These data sources may or may not be stored on the same computer. Distributed queries are most useful when there are multiple databases of varied nature. Hence, distributed queries can be executed over these databases in a secure manner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how Linked server is used to excess external data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;A linked server can be considered as another SQL server database running elsewhere. It can be a OLEDB or ODBC data source. They help in addressing distributed queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;OPENQUERY function&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;is used for such purposes. This function I is used to execute the specified query on the linked sever. OPENQUERY can be referenced in from the FROM clause just like a table name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size: 12.0pt;font-family:Georgia;color:black"&gt;SELECT * FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles')&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how OPENQUERY function is used to excess external data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;OPENQUERY is used to execute the specified query on the linked sever.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;OPENQUERY can be referenced in from the FROM clause just like a table name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;OPENQUERY ( linked_server ,'query' )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;OPENQUERY does not accept variables for its arguments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size: 12.0pt;font-family:Georgia;color:black"&gt;SELECT * FROM OPENQUERY (OracleSvr, 'SELECT name, id FROM joe.titles')&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how OPENROWSET and OPENDATASOURCE function is used to access external data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;OPENROWSET&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Includes all connection information that is required to access remote data from an OLE DB data source. It can be references from a FROM clause and is used to access the tables on a linked server. It can also be referenced as a target table of INSERT, DELETE, and UPDATE statements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;OPENROWSET&lt;br /&gt;( { 'provider_name' , { 'datasource' ; 'user_id' ; 'password'&lt;br /&gt;| 'provider_string' }&lt;br /&gt;, { [ catalog. ] [ schema. ] object&lt;br /&gt;| 'query'&lt;br /&gt;}&lt;br /&gt;| BULK 'data_file' ,&lt;br /&gt;{ FORMATFILE = 'format_file_path' [ ]&lt;br /&gt;| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }&lt;br /&gt;} )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;SELECT * FROM OPENROWSET('SQLNCLI',Server=Brighton1;Trusted_Connection=yes;', 'SELECT sal, employee_name FROM Company.employee.ID')&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;OPENDATASOURCE&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Provides ad hoc connection information without a linked server name.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;OPENDATASOURCE ( provider_name, init_string )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;The example cretes a ad hoc connection to the payroll instance of a SQL server in US. It queries the Company.HumanResources.Employee table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;SELECT * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=US\Payroll;Integrated Security=SSPI') . Company.HumanResources.Employee&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;SQL Server Distributed Queries &lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Georgia; color:black"&gt;Distributed queries can access data from different data sources.&lt;br /&gt;These sources can reside on the same server or a different server.&lt;br /&gt;Theycan querymultiple databases&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;. .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-8186364013833264835?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/8186364013833264835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-distributed-queries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8186364013833264835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/8186364013833264835'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-distributed-queries.html' title='SQL Server distributed queries'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-5180512244069869568</id><published>2010-02-08T05:35:00.001-08:00</published><updated>2010-02-08T05:40:29.085-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL Server method to insert data interview questions</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Brief about Insert Statement with an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Arial"&gt;INSERT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;: The Insert statement is used to insert values as rows in a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;:&lt;br /&gt;INSERT INTO Table_name values (value1, value2,…);&lt;br /&gt;INSERT INTO Table_name (column1, colum2…) values (value1, value2,…);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;A table customer has fields customer id, customer name, customer salary.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;INSERT INTO customer (1,John,20000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Brief about Select….into statement with an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;Select into is used to create back up copies of tables. It selects data from one table and inserts into another.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;Select * INTO dest_table_name FROM source_table_name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: Select data from customer table into customer_backup&lt;br /&gt;Select * INTO customer_backup FROM customer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;It can also be used with WHERE clause for a condition.&lt;br /&gt;Select * INTO customer_backup FROM customer WHERE cust_salary &gt; 1000;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Brief about Bulk copy with an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;Bulk copy utility of SQL allows data to be copied from one data file to another. The data is first exported from the source data file and then imported into the SQL server using the bcp command. It can also be used to transfer data from a table to a file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how bcp command prompt utility is used to import and export data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;The bcp utility is accessed from the command prompt.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;bcp {dbtable | query} {in | out | queryout | format} datafile [-n native type] [-c character type] [-S server name] [-U username] [-P password] [-T trusted connection]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;It starts with specifying the database or object name. In and out means whether the data needs to be copied into or out of the database. Hence in will be used for importing data while out will be used to export data. Remaining arguments are the basic command line arguments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example1&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: import data of Company database to the employee table&lt;br /&gt;bcp Company.dbo.employee in c:\temp\employee.bcp -c -Sstevenw -&lt;st1:place st="on"&gt;&lt;st1:country-region st="on"&gt;Usa&lt;/st1:country-region&gt;&lt;/st1:place&gt; –P&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example2:&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Export data of Company database from the employee table&lt;br /&gt;bcp Company.dbo.employee out c:\temp\employee.bcp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Describe how bulk insert statement is used to import data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;Bulk Insert is used to copy data from a file into a table or view in a format as specified by the user&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:Arial;color:#005279"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Syntax:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;BULK INSERT&lt;br /&gt;[ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]&lt;br /&gt;FROM 'data_file'&lt;br /&gt;[ WITH&lt;br /&gt;(&lt;br /&gt;[ [ , ] BATCHSIZE = batch_size ]&lt;br /&gt;[ [ , ] CHECK_CONSTRAINTS ]&lt;br /&gt;[ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]&lt;br /&gt;[ [ , ] DATAFILETYPE =&lt;br /&gt;{ 'char' | 'native'| 'widechar' | 'widenative' } ]&lt;br /&gt;[ [ , ] FIELDTERMINATOR = 'field_terminator' ]&lt;br /&gt;[ [ , ] FIRSTROW = first_row ]&lt;br /&gt;[ [ , ] FIRE_TRIGGERS ]&lt;br /&gt;[ [ , ] FORMATFILE = 'format_file_path' ]&lt;br /&gt;[ [ , ] KEEPIDENTITY ]&lt;br /&gt;[ [ , ] KEEPNULLS ]&lt;br /&gt;[ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ]&lt;br /&gt;[ [ , ] LASTROW = last_row ]&lt;br /&gt;[ [ , ] MAXERRORS = max_errors ]&lt;br /&gt;[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]&lt;br /&gt;[ [ , ] ROWS_PER_BATCH = rows_per_batch ]&lt;br /&gt;[ [ , ] ROWTERMINATOR = 'row_terminator' ]&lt;br /&gt;[ [ , ] TABLOCK ]&lt;br /&gt;[ [ , ] ERRORFILE = 'file_name' ]&lt;br /&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.5pt; mso-bidi-font-size:12.0pt;font-family:Georgia;color:black"&gt;BULK INSERT target.txt FROM ‘C:\Dest.txt’ WITH ( FIELDTERMINATOR = ‘ ” , ” ‘)&lt;br /&gt;The FIELDTERMINATOR argument allows you to specify the delimiter used to discern column values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-5180512244069869568?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/5180512244069869568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-method-to-insert-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5180512244069869568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/5180512244069869568'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-method-to-insert-data.html' title='SQL Server method to insert data interview questions'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-6517940020971153117</id><published>2010-02-08T05:35:00.000-08:00</published><updated>2010-02-08T05:40:29.085-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL Server cube operator interview questions</title><content type='html'>&lt;h4 style="line-height:11.25pt"&gt;&lt;span style="font-size:10.5pt;font-family:Arial; color:#005279"&gt;Explain how to use Cube operator to summarize data.&lt;/span&gt;&lt;span style="font-size:10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;&lt;br /&gt;A Cube operator summarizes data of group by. It helps in determining subtotals and grand totals.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-size:9.0pt;font-family: Arial;color:#005279"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:9.0pt; font-family:Arial;color:#005279"&gt;: This will display a summary of employees with same first name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style="font-size:9.0pt;font-family:Arial; color:#005279"&gt;Select first_name, last_name, AVG(salary) FROM employee GROUP BY first_name WITH CUBE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3213764379816738334-6517940020971153117?l=dotnetride.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetride.blogspot.com/feeds/6517940020971153117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-cube-operator-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6517940020971153117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3213764379816738334/posts/default/6517940020971153117'/><link rel='alternate' type='text/html' href='http://dotnetride.blogspot.com/2010/02/sql-server-cube-operator-interview.html' title='SQL Server cube operator interview questions'/><author><name>chdotnet</name><uri>http://www.blogger.com/profile/12653151405987022174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3213764379816738334.post-1629644188045739273</id><published>2010-02-08T05:32:00.006-08:00</published><updated>2010-02-08T05:59:23.939-08:00</updated><title type='text'>SQL Server Subqueries interview questions</title><content type='html'>&lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;SQL Server sub-query &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;Define Subqueries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;A subquery is a query within a query. These sub queries are created with SQL statements. These subqueries are embedded within SELECT, FROM or the WHERE clause.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;Explain with examples for the Subqueries with IN and NOT IN.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Sub Query Example with IN&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: Displays employees from employee table with bonus &gt; 1000. Using IN first all employees are selected and compared to each row of the subquery. Select first_name from employee&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Where bonus_id IN (select id from bonus Where bonus_amt &gt; 1000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Sub Query Example with NOT IN&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: Displays employees from employee table with bonus &lt;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Select first_name from employee Where bonus_id NOT IN (select id from bonus Where bonus_amt &lt;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;Explain the subqueries with comparison operators.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Comparison operators can be used (like &lt;, &gt;, =, !&gt; etc). Sub queries used with comparison operators must return a single value rather than a list to avoid error. Hence the nature of the database must be knows before executing such sub queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: To display employees who have been referred by John whose id 276&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;SELECT employeeID FROM employee. employee_name WHERE referenceID = (SELECT referenceID FROM employee.firstname WHERE EmpID = 276)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: names of all employees whose salary is greater than the average salery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;SELECT Employee_ID FROM Employee.Emp_name WHERE salary &gt; (SELECT AVG (salary) FROM Employee.Emp_name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h4 style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:10.5pt;color:#005279;"&gt;Explain with examples for the Subqueries with Exists and NOT Exists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Answer&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;A subquery with Exist does not really return any data; it returns TRUE or FALSE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: This select statement will return all records from the sales table where there is at least one record in the orders table with the same sales _id.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;SELECT * FROM sales WHERE EXISTS (select * from orders where sales.sales_id = orders.sales_id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;Example for NOT EXIST&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:9.0pt;color:#005279;"&gt;: This query will work exactly the opposite to above. I.e except for the sane sales_id all other records will be returned&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:11.25pt"&gt;&lt;span style=" ;font-family:Arial;font-size:9.0pt;color:#005279;"&gt;SELECT * FROM sales WHERE NOT EXISTS (select * from orders where sales.sales_id = orders.sales_id); &lt;&gt; &lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h5 style="line-height
