<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tech Manthan</title>
	<atom:link href="http://techmanthan.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://techmanthan.wordpress.com</link>
	<description>"Lets share knowledge..."</description>
	<pubDate>Wed, 02 Jan 2008 06:37:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Scripting In Java Platform</title>
		<link>http://techmanthan.wordpress.com/2008/01/02/scripting-in-java-platform/</link>
		<comments>http://techmanthan.wordpress.com/2008/01/02/scripting-in-java-platform/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 06:37:41 +0000</pubDate>
		<dc:creator>deepak parmar</dc:creator>
		
		<category><![CDATA[Java Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2008/01/02/scripting-in-java-platform/</guid>
		<description><![CDATA[Happy New Year to All 
One key feature of Java 6.0 is change in (Java Specification Request (JSR) 223), helps developers to integrate Java technology and scripting languages by defining a standard framework and application programming interface (API) to do the following:


    Access and control Java technology-based objects from a scripting environment 


    Create web content with [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b><span style="font-size:10pt;font-family:Arial;">Happy New Year to All</span></b><span style="font-size:10pt;font-family:Arial;"> </span></p>
<p><span style="font-size:10pt;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">One key feature of Java 6.0 is change in (Java Specification Request (JSR) 223), helps developers to integrate Java technology and scripting languages by defining a standard framework and application programming interface (API) to do the following:</span></p>
<ol>
<li>
<div><span style="font-size:10pt;font-family:Arial;"></span><font face="Times New Roman"><span style="font-size:10pt;"> </span></font><span style="font-size:10pt;color:black;"><font face="Times New Roman">   </font></span><span style="font-size:10pt;color:black;font-family:Arial;">Access and control Java technology-based objects from a scripting environment </span></div>
</li>
<li>
<div><span style="font-size:10pt;color:black;"><font face="Times New Roman">    </font></span><span style="font-size:10pt;color:black;font-family:Arial;">Create web content with scripting languages </span></div>
</li>
<li>
<div style="text-indent:-0.25in;line-height:15.6pt;text-align:justify;margin:0 0 0 0.25in;" class="MsoNormal"><span style="font-size:10pt;color:black;"><font face="Times New Roman">    </font></span><span style="font-size:10pt;color:black;font-family:Arial;">Embed scripting environments within Java technology-based applications </span></div>
</li>
</ol>
<p><span style="font-size:10pt;color:black;font-family:Arial;"></span><font size="2" face="Arial"><span style="font-size:10pt;font-family:Arial;">This article focuses on the specification&#8217;s third goal and will show you how to use an embedded scripting environment from a Java platform application. A demo application called ScriptCalc will provide a working example of how to extend your applications with user-defined scripts in the JavaScript programming language. </span></font></p>
<p><font size="2" face="Arial"><span style="font-size:10pt;font-family:Arial;"></span></font><b><span style="font-size:10pt;color:black;font-family:Arial;">Basic Reasons to Use a Scripting Language</span></b></p>
<p><b><span style="font-size:10pt;color:black;font-family:Arial;"></span></b><span style="font-size:10pt;color:black;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;">Most scripting languages are dynamically typed. </span>You can usually create new variables without predetermining the variable type, and you can reuse variables to store values of different types. Also, scripting languages tend to perform many type conversions automatically, for example, converting the number 10 to the text &#8220;10&#8243; as necessary. Although some scripting languages are compiled, most languages are interpreted. Script environments generally perform the script compilation and execution within the same process. Usually, these environments also parse and compile scripts into intermediate code when they are first executed.</span><span style="font-size:10pt;font-family:Arial;">These qualities of scripting languages help you write applications faster, execute commands repeatedly, and tie together components from different technologies.</span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">Combining scripting languages with the Java platform provides developers an opportunity to leverage the abilities of both environments. You can continue to use scripting languages for all the reasons you already have, and you can use the powerful Java class library to extend the abilities of those languages. If you are a Java language programmer, you now have the ability to ship applications that your customers can significantly and dynamically customize. The synergy between the Java platform and scripting languages produces an environment in which developers and end users can collaborate to create more useful, dynamic applications.</span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;"></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;"></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;"></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;"></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;"></span></p>
<p><b><span style="font-size:10pt;color:black;font-family:Arial;"></span></b><b><span style="font-size:10pt;color:black;font-family:Arial;">JSR 223 Implementation</p>
<p></span></b><span style="font-size:10pt;font-family:Arial;">Version 6 of the Java Platform, Standard Edition (Java SE), does not mandate any particular script engine, but it does include the Mozilla Rhino engine for the JavaScript programming language. The Java SE 6 platform implements the <span style="color:#666666;">java.script</span> APIs, which allow you to use script engines that comply with JSR 223. </span><span style="font-size:10pt;font-family:Arial;"> </span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><b><span style="font-size:10pt;color:black;font-family:Arial;">Ways to Use the Scripting API</span></b></p>
<p><b><span style="font-size:10pt;color:black;font-family:Arial;"></span></b> <span style="font-size:10pt;font-family:Arial;">The scripting API is in the <span style="color:#666666;">javax.script</span> package available in the Java SE 6 platform. The API is still relatively small, composed of six interfaces and six classes, as Table 1 indicates.</span></p>
<table border="0" width="100%" cellPadding="0" cellSpacing="0" style="width:100%;" class="MsoNormalTable">
<tr>
<td colSpan="2" width="100%" vAlign="top" style="background:#999999;width:100%;border:#ece9d8;padding:0;">
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><b><span style="font-size:10pt;color:white;font-family:Arial;">Table 1: Interfaces and Classes in the Java SE 6 Platform</span></b></p>
</td>
</tr>
<tr>
<td colSpan="2" vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:black;font-family:Arial;"></p>
<table width="100%" cellPadding="0" cellSpacing="0">
<tr>
<td style="background-color:transparent;border:#ece9d8;">
<div></div>
</td>
</tr>
</table>
<p></span></td>
</tr>
<tr>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><b><span style="font-size:10pt;color:black;font-family:Arial;">Interface</span></b><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><b><span style="font-size:10pt;color:black;font-family:Arial;">Class</span></b><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">Bindings</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">AbstractScriptEngine</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">Compilable</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">CompiledScript</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">Invocable</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngineManager</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptContext</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">SimpleBindings</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngine</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background:#f1f1f1;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">SimpleScriptContext</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngineFactory</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
<td vAlign="top" style="background-color:transparent;border:#ece9d8;padding:0;"><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptException</span><span style="font-size:10pt;color:black;font-family:Arial;"></span></td>
</tr>
<tr>
<td colSpan="2" vAlign="top" style="background:#999999;border:#ece9d8;padding:0;"><b><span style="font-size:10pt;color:white;font-family:Arial;"></p>
<table width="100%" cellPadding="0" cellSpacing="0">
<tr>
<td style="background-color:transparent;border:#ffffff;">
<div></div>
</td>
</tr>
</table>
<p></span></b></td>
</tr>
</table>
<p><span style="font-size:10pt;color:black;font-family:Arial;"> </span><span style="font-size:10pt;"></span><span style="font-size:10pt;font-family:Arial;">Your starting point should be the <span style="color:#666666;">ScriptEngineManager</span> class. A <span style="color:#666666;">ScriptEngineManager</span> object can tell you what script engines are available to the Java Runtime Environment (JRE). It can also provide <span style="color:#666666;">ScriptEngine</span> objects that interpret scripts written in a specific scripting language. The simplest way to use this API is to do the following:</span><span style="font-size:10pt;"></span><span style="font-size:10pt;"><font face="Times New Roman"> </font></span></p>
<ol>
<li>
<div><span style="font-size:10pt;color:black;font-family:Arial;">Create a </span><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngineManager</span><span style="font-size:10pt;color:black;font-family:Arial;"> object. </span></div>
</li>
<li>
<div><span style="font-size:10pt;color:black;font-family:Arial;"></span><span style="font-size:10pt;color:black;font-family:Arial;">Retrieve a </span><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngine</span><span style="font-size:10pt;color:black;font-family:Arial;"> object from the manager. </span></div>
</li>
<li>
<div style="text-indent:-0.25in;line-height:15.6pt;text-align:justify;margin:0 0 0 0.25in;" class="MsoNormal"><span style="font-size:10pt;color:black;font-family:Arial;">Evaluate a script using the </span><span style="font-size:10pt;color:#666666;font-family:Arial;">ScriptEngine</span><span style="font-size:10pt;color:black;font-family:Arial;"> object. </span></div>
</li>
</ol>
<p><span style="font-size:10pt;font-family:Arial;">That sounds easy enough, but what does the code look like? Above Example  performs all three steps, printing <span style="color:#666666;">Hello, world!</span> to the console.</span></p>
<p><b><span style="font-size:10pt;font-family:Arial;">Create a <span style="color:#666666;">ScriptEngine</span> object using the engine name.</span></b><span style="font-size:10pt;font-family:Arial;"></span></p>
<table border="0" width="100%" cellPadding="0" cellSpacing="0" style="background:#e7e7e7;width:100%;" class="MsoNormalTable">
<tr>
<td style="background:0 0;border:#ece9d8;padding:7.5pt;">
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>ScriptEngineManager mgr = new ScriptEngineManager();</span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>ScriptEngine jsEngine = mgr.getEngineByName(&#8221;JavaScript&#8221;);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>try {</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>    </span></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>          </span>jsEngine.eval(&#8221;print(&#8217;Hello, world!&#8217;)&#8221;);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span></span>  } catch (ScriptException ex) {</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span> </span>ex.printStackTrace();</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>}<span>    </span></span></p>
</td>
</tr>
</table>
<p><span style="font-size:10pt;font-family:Arial;">Below code shows how to evaluate a file that the customer has supplied. The file name is <span style="color:#666666;">/scripts/F1.js</span>, and it is located under the application directory.</span></p>
<p><span style="font-size:10pt;font-family:Arial;"></span> <b><span style="font-size:10pt;font-family:Arial;">The <span style="color:#666666;">eval</span> method can read script files.</span></b><span style="font-size:10pt;font-family:Arial;"></span></p>
<table border="0" width="100%" cellPadding="0" cellSpacing="0" style="background:#e7e7e7;width:100%;" class="MsoNormalTable">
<tr>
<td style="background:0 0;border:#ece9d8;padding:7.5pt;">
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>ScriptEngineManager engineMgr = new ScriptEngineManager();</span></p>
<p><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>ScriptEngine engine = engineMgr.getEngineByName(&#8221;ECMAScript&#8221;);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span> </span></span></p>
<p><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>InputStream is = </span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>      </span>this.getClass().getResourceAsStream(&#8221;/scripts/F1.js&#8221;);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span> </span></span></p>
<p><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>try {</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>    </span>Reader reader = new InputStreamReader(is);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>    </span></span></p>
<p><span style="font-size:10pt;color:#666666;font-family:Arial;"><span></span> engine.eval(reader);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span></span></p>
<p><span style="font-size:10pt;color:#666666;font-family:Arial;"><span></span> } catch (ScriptException ex) {</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>    </span>ex.printStackTrace();</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>}</span></td>
</tr>
</table>
<p><span style="font-size:10pt;color:black;font-family:Arial;"><b> </b></span><span style="font-size:10pt;color:black;font-family:Arial;"><b>How to Invoke a Script Procedure</b><span style="font-size:10pt;color:black;font-family:Arial;"> </span></span><span style="font-size:10pt;color:black;font-family:Arial;"> </span></p>
<p><span style="font-size:10pt;color:black;font-family:Arial;"></span><span style="font-size:10pt;color:black;font-family:Arial;"><span style="font-size:10pt;color:black;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">Running entire scripts is useful, but you may want to invoke only specific script procedures. Some script engines implement the <span style="color:#666666;">Invocable</span> interface. If an engine implements this interface, you can call or invoke specific methods or functions that the engine has already evaluated. </span><span style="font-size:10pt;font-family:Arial;">Script engines are not required to support the <span style="color:#666666;">Invocable</span> interface. However, the Rhino JavaScript technology implementation in the Java SE 6 platform does. If your script contains a function called <span style="color:#666666;">sayHello</span>, you could invoke it repeatedly by casting your <span style="color:#666666;">ScriptEngine</span> object to an <span style="color:#666666;">Invocable</span> object and by calling its <span style="color:#666666;">invokeFunction</span> method. Alternatively, if your script defines objects, you can call object methods using the <span style="color:#666666;">invokeMethod</span> method. Code Example 7 demonstrates how to use this interface.</span></span><span style="font-size:10pt;color:black;font-family:Arial;"> </span><span style="font-size:10pt;color:black;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span><b><span style="font-size:10pt;font-family:Arial;">You can use the <span style="color:#666666;">Invocable</span> interface to call specific methods in a script.</span></b><span style="font-size:10pt;font-family:Arial;"></span></span></p>
<table border="0" width="100%" cellPadding="0" cellSpacing="0" style="background:#e7e7e7;width:100%;" class="MsoNormalTable">
<tr>
<td style="background:0 0;border:#ece9d8;padding:7.5pt;">
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>jsEngine.eval(&#8221;function sayHello() {&#8221; +</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>         </span>&#8220;<span>  </span>println(&#8217;Hello, world!&#8217;);&#8221; +</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>                </span>&#8220;}&#8221;);</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>Invocable invocableEngine = (Invocable) jsEngine;</span><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span></span></p>
<p style="line-height:15.6pt;text-align:justify;margin:0;" class="MsoNormal"><span style="font-size:10pt;color:#666666;font-family:Arial;"><span>  </span>invocableEngine.invokeFunction(&#8221;sayHello&#8221;);</span></p>
</td>
</tr>
</table>
<p><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-size:10pt;font-family:Arial;">Be aware that <span style="color:#666666;">invokeMethod</span> and <span style="color:#666666;">invokeFunction</span> methods can throw several exceptions, so you must be prepared to catch <span style="color:#666666;">ScriptException</span>, <span style="color:#666666;">NoSuchMethodException</span>, and perhaps even <span style="color:#666666;">NullPointerException</span> exceptions.</span></p>
<p><span style="font-size:10pt;font-family:Arial;">More Information : http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/</span><span style="font-size:10pt;"><font face="Times New Roman"> </font></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=31&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2008/01/02/scripting-in-java-platform/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/deepakparmar-128.jpg" medium="image">
			<media:title type="html">deepakparmar</media:title>
		</media:content>
	</item>
		<item>
		<title>Why DIV tag not TABLE</title>
		<link>http://techmanthan.wordpress.com/2007/12/26/why-not/</link>
		<comments>http://techmanthan.wordpress.com/2007/12/26/why-not/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 07:08:09 +0000</pubDate>
		<dc:creator>Himanshu Poddar</dc:creator>
		
		<category><![CDATA[Latest Trends]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/12/26/why-not/</guid>
		<description><![CDATA[By: Himanshu Poddar 
Hi and Merry Christmas to All,
I am back and writting after long and really sorry for this. 
Today after Christmas when i am really relax and looking forward to new year just decided to write here something interesting that is happening in industry i.e change of mindset of each and every organization [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="right" style="line-height:15.6pt;margin:0 0 10pt;" class="MsoNormal"><span style="font-size:12pt;font-family:'Georgia','serif';"><u>By: Himanshu Poddar</u> </span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';">Hi and Merry Christmas to All,</span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;font-family:'Georgia','serif';">I am back and writting after long and really sorry for this. </span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';">Today after Christmas when i am really relax and looking forward to new year just decided to write here something interesting that is happening in industry i.e change of mindset of each and every organization to shift the layout design from table to table less design i.e. from &lt;Table&gt; to &lt;DIV&gt;.</span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;font-family:'Georgia','serif';">When we in my company decided that from onwards we will be using &lt;DIV&gt; instead of table in our layouts, everyone asked only one question WHY and it was me and the designer were give the task of finding the answer to this big WHY as we had given this idea…lol.</span><span style="font-size:12pt;font-family:'Georgia','serif';">This is really nothing new, but rather a different way of doing things. Some pages you see around the internet do not contain any tables at all. Each section is a DIV area being positioned by CSS.</span><span style="font-size:12pt;font-family:'Georgia','serif';"> </span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><u><span style="font-size:12pt;font-family:'Georgia','serif';">Note/Warning for all programmers:</span></u><span style="font-size:12pt;font-family:'Georgia','serif';"> please don’t try designing the form or any layout done in DIV by yourself without asking the designers till you have good knolwdge of DIV and CSS as we been doing till today with tables (sometimes), it is because this way you will really spoil the design and yes your dear friend The Designer may lose temper.</span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"><span></span></span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"><span></span></span><b><u><span style="font-size:12pt;font-family:'Georgia','serif';">Here is some of the reason why one should use DIV instead of tables till possible.</span></u></b></p>
<p><b><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u></b><u><span style="font-size:12pt;font-family:'Georgia','serif';">Tables are slow</span></u></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u><span style="font-size:12pt;font-family:'Georgia','serif';">In almost every browser out there, unless table widths are specified explicitly, all the text in the table needs to be rendered before the browser can figure out how wide to make the various table cells. This means that pages load slowly. Note that using CSS for layout doesn’t necessarily help here, since there’s the same problem if the widths aren’t specified explicit. I’m guilty of this myself.</span><span style="font-size:12pt;font-family:'Georgia','serif';">Tables don’t have to be slow if you put each row in a separate table, but then you lose the alignment between rows. For a blog, that may not be much of a problem, but for data that actually <i>wants</i> to be in tabular form, it’s still a problem.</span><span style="font-size:12pt;font-family:'Georgia','serif';">Simply speaking just think how much time each &lt;td&gt; takes at the background when page is loaded (think if u have big form and have around 50 &lt;td&gt;).</span></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';">Tables can be inflexible</span></u></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u><span style="font-size:12pt;font-family:'Georgia','serif';">One of the common <i>tricks</i> to make tables load more quickly is to specify the widths for all the table columns. This means that the table renders pretty quickly, and the user can see your text right away. The problem is that you’ve just specified the width for the page. Again, note that you can have this exact same problem with CSS if you specify all the widths explicitly.</span><span style="font-size:12pt;font-family:'Georgia','serif';"> </span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><u><span style="font-size:12pt;font-family:'Georgia','serif';">Accessibility issues are easier with CSS</span></u></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u><span style="font-size:12pt;font-family:'Georgia','serif';">Tables also mean you have to present the information in the same order you want it displayed. You have to present data in the left column before the columns to the right. Using CSS for layout, you can present the data in a logical order and use CSS to control the appearance. For example, in a three-column layout using tables, you’ll see <b>left-column</b> then <b>center column</b> then <b>right column</b> in that order. Using CSS, you can put whichever of the three columns is most important first, and keep the layout separate (which is the whole point of CSS). </span><span style="font-size:12pt;font-family:'Georgia','serif';">A real important point that I missed on the first pass. I don’t know what I was thinking :P. </span><span style="font-size:12pt;font-family:'Georgia','serif';"></span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><u><span style="font-size:12pt;font-family:'Georgia','serif';">Tables don’t degrade</span></u></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u><span style="font-size:12pt;font-family:'Georgia','serif';">The most important reason why using tables for layout is that they don’t degrade gracefully. For a good example of this, take a look at any page on any site in Table layout. If your browser window is wide enough, you get a nice, two-column layout, just the way U intended. But if you’re using a narrower browser window, the page falls down to a single column with what used to be on the right down below the more <i>important</i> part of the page (or at least what I think is more important to most people). Tables don’t let the page degrade gracefully, and that’s their biggest problem. </span><span style="font-size:12pt;font-family:'Georgia','serif';"></span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><u><span style="font-size:12pt;font-family:'Georgia','serif';">Tables don’t print as well</span></u></p>
<p><u><span style="font-size:12pt;font-family:'Georgia','serif';"></span></u><span style="font-size:12pt;font-family:'Georgia','serif';">A huge problem with tables (pointed out by a reader, this is another one I missed on the first pass) is that they don’t print terribly well. With CSS, you can use a print style sheet to give another look to the page. This style sheet can also include page-breaks that are under your control. You can also have elements that only show up when rendered to a screen, but not to a printer (headers and footers, for example). </span></p>
<p><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;font-family:'Georgia','serif';">Just remembered to say yes also…mmmmm….Div is lighter then the aaaaa…Table…yes now I remember what I was missing in the second point…..thanks to all.</span><span style="font-size:12pt;font-family:'Georgia','serif';"> </span><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;font-family:'Georgia','serif';"></span><span style="font-size:12pt;line-height:115%;font-family:'Georgia','serif';"></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=30&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/12/26/why-not/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Defying Referential Integrity</title>
		<link>http://techmanthan.wordpress.com/2007/09/04/defying-referential-integrity/</link>
		<comments>http://techmanthan.wordpress.com/2007/09/04/defying-referential-integrity/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 15:45:59 +0000</pubDate>
		<dc:creator>priyank</dc:creator>
		
		<category><![CDATA[Database Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/09/04/defying-referential-integrity/</guid>
		<description><![CDATA[Updating a Primary Key value without dropping Foreign key constraints in Oracle 8i and later versions 
By: Dhaval Somaiya/Kunal Mehta
Manier times there are cases wherein a primary key value needs an update, But  updating  them in Oracle would be a tricky thing if you do have foreign key.
Trying to update a primary key will throw an [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Updating a Primary Key value without dropping Foreign key constraints in Oracle 8i and later versions<u> </u></strong><font size="2"></p>
<p align="right"><strong>By: Dhaval Somaiya/Kunal Mehta</strong></p>
<p align="left">Manier times there are cases wherein a primary key value needs an update, But  updating  them in Oracle would be a tricky thing if you do have foreign key.</p>
<p align="left">Trying to update a primary key will throw an error &#8220;Child record found&#8221;.</p>
<p align="left">Similarly, trying to update a foreign key will throw an error &#8220;Parent record found&#8221;. </p>
<p align="left">Following steps guides you to overcome these hurdles while making sure to have referential integrity intact.</p>
<p align="left"><strong>Step 1: </strong></p>
<p align="left">Assume a Primary key and a foreign key relationship.</p>
<p>ALTER TABLE DEPARTMENT ADD CONSTRAINT PK_DEPT PRIMARY KEY (DEPARTMENT_ID);</p>
<p>ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_EMP FOREIGN KEY (DEPARTMENT _ID) REFERENCES DEPARTMENT (DEPARTMENT_ID) ;</p>
<p>It is essential to create the constraint as DEFERRABLE right away when creating it, if you want to be able to differ the constraint check to the end of the transaction.</p>
<p>DEFERRABLE constraint is IMMEDIATE by default.</p>
<p><strong>Step 2:</strong></p>
<p>ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_EMP FOREIGN KEY (DEPARTMENT _ID) REFERENCES DEPARTMENT (DEPARTMENT_ID) DEFERRABLE;</p>
<p>You can check the same using the following query.</p>
<p>SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME=’ EMPLOYEE’</p>
<p><strong>Step 3: </strong>ALTER SESSION SET CONSTRAINTS=DEFERRED;</p>
<p><strong>Step 4:</strong> ALTER TABLE DEPARTMENT SET DEPARTMENT_ID=DEPARTMENT_ID+1;</p>
<p><strong>Step 5:</strong> ALTER TABLE EMPLOYEE SET DEPARTMENT_ID=DEPARTMENT_ID+1;</p>
<p><strong>Step 6:</strong> ALTER SESSION SET CONSTRAINTS=IMMEDIATE</p>
<p><strong>Step 7:</strong> EXECUTE COMMIT;</p>
<p></font></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=29&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/09/04/defying-referential-integrity/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle 11g New Features</title>
		<link>http://techmanthan.wordpress.com/2007/07/17/oracle-11g-new-features/</link>
		<comments>http://techmanthan.wordpress.com/2007/07/17/oracle-11g-new-features/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 09:32:48 +0000</pubDate>
		<dc:creator>sandipdavda</dc:creator>
		
		<category><![CDATA[Database Manthan]]></category>

		<category><![CDATA[Latest Trends]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/07/17/oracle-11g-new-features/</guid>
		<description><![CDATA[Oracle 11g Launched
By Sandip Davda
On 11th July 17, 2007 Oracle today introduced Oracle(r) Database 11g, the latest release of the world&#8217;s most popular database. With more than 400 features, 15 million test hours, and 36,000 person-months of development, Oracle Database 11g is the most innovative and highest quality software product Oracle have ever announced. 
However actual [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center"><strong><span style="font-size:16pt;font-family:Verdana;">Oracle 11g Launched</span></strong></p>
<p align="right"><span class="bodycopy"><span style="font-size:14pt;font-family:Verdana;"><u>By Sandip Davda</u></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;">On 11<sup>th </sup>July 17, 2007 Oracle today introduced Oracle(r) Database 11g, the latest release of the world&#8217;s most popular database. With more than 400 features, 15 million test hours, and 36,000 person-months of development, Oracle Database 11g is the most innovative and highest quality software product Oracle have ever announced. </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;"><em>However actual product will be released in August 2007 on Linux Platform. As of now the release date for Windows and other platform is not decided. So you need to wait before you get your hands on Oracle 11g <span> </span>- <span> </span>the most eagerly awaited product…</em></span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g can help organizations take control of their enterprise information, gain better business insight, and quickly and confidently adapt to an increasingly changing competitive environment. To do this, the new release extends Oracle&#8217;s unique database clustering, data center automation, and workload management capabilities. With secure, highly available and scalable grids of low-cost servers and storage, Oracle customers can tackle the most demanding transaction processing, data warehousing, and content management applications. </span></p>
<p align="justify"><strong><span style="font-family:Verdana;">Real Application Testing Helps Reduce Time, Risk and Cost of Change</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g features advanced self-management and automation features to help organizations meet service level agreements. For example, with organizations facing regular database and operating system software upgrades, and hardware and system changes, Oracle Database 11g introduces Oracle Real Application Testing, making it the first database to help customers test and manage changes to their IT environment quickly, in a controlled, cost effective manner. </span></p>
<p align="justify"><span class="boldbodycopy"><strong><span style="font-family:Verdana;">Increase Return On Investment for Disaster Recovery Solutions</span></strong></span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">In Oracle Database 11g, Oracle Data Guard enables customers to use their standby database to improve performance in their production environments as well as provide protection from system failures and site-wide disasters. Oracle Data Guard uniquely enables simultaneous read and recovery of a single standby database making it available for reporting, backup, testing and &#8216;rolling&#8217; upgrades to production databases. By offloading workloads from production to a standby system, Oracle Data Guard helps enhance the performance of production systems and provides a more cost-effective disaster recovery solution. </span><strong><span style="font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-family:Verdana;">Enhanced Information Lifecycle Management and Storage Management</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g has significant new data partitioning and compression capabilities, for more cost-effective Information Lifecycle Management and storage management. Oracle Database 11g automates many manual data partitioning operations and extends existing range, hash and list partitioning to include interval, reference and virtual column partitioning. In addition, Oracle Database 11g provides a complete set of composite partitioning options, allowing storage management that is driven by business rules. </span><strong><span style="font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-family:Verdana;">Advanced Data Compression</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Building on its long-standing data compression capabilities, Oracle Database 11g offers advanced data compression for both structured and unstructured (LOB) data managed in transaction processing, data warehousing, and content management environments. Compression ratios of 2x to 3x or more for all data can be achieved with the new advanced compression capabilities in Oracle Database 11g. </span><strong><span style="font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-family:Verdana;">Total Recall of Data Changes</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">The new release also features &#8220;Oracle Total Recall,&#8221; enabling administrators to query data in designated tables &#8220;as of&#8221; earlier times in the past. This offers an easy, practical way to add a time dimension to data for change tracking, auditing, and compliance. </span><strong><span style="font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-family:Verdana;">Maximum Availability of Information</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle has consistently led the industry in protecting database applications from planned and unplanned downtime. Oracle Database 11g continues this lead by making it easier for administrators to meet their users&#8217; availability expectations. New availability features include Oracle Flashback Transaction which makes it easy to back out a transaction made in error, as well as any dependent transactions; Parallel Backup and Restore which helps improve the backup and restore performance of very large databases; and &#8216;hot patching,&#8217; which improves system availability by allowing database patches to be applied without the need to shut databases down. In addition, a new advisor - Data Recovery Advisor - helps administrators significantly reduce recovery downtime by automating problem investigation, intelligently determining recovery plan and handling multiple failure situations. </span><strong><span style="font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-family:Verdana;">Oracle Fast Files</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">The next-generation capability for storing large objects (LOBs) such as images, large text objects, or advanced data types including XML, medical imaging, and three-dimensional objects - within the database. Oracle Fast Files offers database applications performance fully comparable to file systems. By storing a wider range of enterprise information and retrieving it quickly and easily, enterprises can know more about their business and adapt more rapidly. </span></p>
<p align="justify"><strong><span style="font-family:Verdana;"></span></strong><strong><span style="font-family:Verdana;">Faster XML</span></strong></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g includes significant performance enhancements to XML DB, a feature of Oracle database that enables customers to natively store, and manipulate XML data. Support for binary XML has been added offering customers a choice of XML storage options to match their specific application and performance requirements. XML DB also enables manipulation of XML data using industry standard interfaces with support for XQuery, Java Specification Requests (JSR)-170 and SQL/XML standards. </span></p>
<p><span class="boldbodycopy"><strong><span style="font-family:Verdana;">Transparent Encryption</span></strong></span><span class="boldbodycopy"> </span><span class="boldbodycopy"></span><span class="boldbodycopy"></span><span class="boldbodycopy"></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g continues to build on its unmatched security capabilities through the addition of significant enhancements. The new release features improved Oracle Transparent Data Encryption capabilities beyond column level encryption. Oracle Database 11g offers tablespace encryption that can be utilized to encrypt entire tables, indexes, and other data storage. Encryption is also provided for LOBs stored in the database.</span></p>
<p align="justify"><strong><span style="font-family:Verdana;">Embedded OLAP Cubes</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g also provides data warehousing innovations. OLAP cubes are enhanced to behave as materialized views in the database. This allows developers to use industry standard SQL for data query, but still benefit from the high performance delivered by an OLAP cube. New Continuous Query Notification features allow applications to be immediately notified when important changes are made to database data without burdening the database with constant polling. </span></p>
<p></span></p>
<p align="justify"><strong><span style="font-family:Verdana;">Connection Pooling and Query Result Caches</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">The performance and scalability features in Oracle Database 11g are designed to help organizations maintain a highly performant, scalable infrastructure to provide users&#8217; with the best quality of service. Oracle Database 11g further enhances Oracle&#8217;s position as the industry&#8217;s performance and scalability leader with new features such as Query Result Caches which improves application performance and scalability by caching and reusing the results of often called database queries and functions in database and application tiers, and Database Resident Connection Pooling which improves the scalability of web-based systems by providing connection pooling for non-multi-threaded applications. </span></p>
<p align="justify"><strong><span style="font-family:Verdana;">Enhanced Application Development</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database 11g offers developers a choice of development tools, and a streamlined application development process that takes full advantage of key Oracle Database 11g features. These include new features such as Client Side Caching, Binary XML for faster application performance, XML processing, and the storing and retrieving of files. In addition, Oracle Database 11g also includes a new Java just-in-time Compiler to execute database Java procedures faster without the need for a third party compiler; native integration with Visual Studio 2005 for developing .NET applications on Oracle; Access migration tools with Oracle Application Express; and SQL Developer easy query building feature for fast coding of SQL and PL/SQL routines. </span></p>
<p align="justify"><strong><span style="font-family:Verdana;">Enhanced Self-Management and Automation</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">The manageability features in Oracle Database 11g are designed to help organizations easily manage enterprise grids and deliver on their users&#8217; service level expectations. Oracle Database 11g introduces more self-management and automation that will help customers reduce their system management costs, while increasing performance, scalability, availability and security of their database applications. New manageability capabilities in Oracle Database 11g include Automatic SQL and memory tuning, a new Partitioning Advisor which automatically advises administrators on how to partition tables and indexes in order to improve performance, and enhanced performance diagnostics for database clusters. In addition, Oracle Database 11g includes a new Support Workbench which provides an easy-to-use interface that presents database health-related incidents to administrators along with information on how to quickly manage the resolution of incidents. </span><strong><span style="font-size:14pt;font-family:Verdana;"> </span></strong></p>
<p align="justify"><strong><span style="font-size:14pt;font-family:Verdana;">Summary</span></strong><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p align="justify"><span style="font-size:11pt;font-family:Arial;">Oracle Database is the only database designed for grid computing. With the release of Oracle Database 11g, Oracle is making the management of enterprise information easier than ever; enabling customers to know more about their business and innovate more quickly. Oracle Database 11g delivers superior performance, scalability, availability, security and ease of management on a low-cost grid of industry standard storage and servers. Oracle Database 11g is designed to be effectively deployed on everything from small blade servers to the biggest SMP servers and clusters of all sizes. It features automated management capabilities for easy, cost-effective operation. Oracle Database 11g&#8217;s unique ability to manage all data from traditional business information to XML and 3D spatial information makes it the ideal choice to power transaction processing, data warehousing, and content management applications. </span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=28&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/07/17/oracle-11g-new-features/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# 3.0 New Features</title>
		<link>http://techmanthan.wordpress.com/2007/07/13/c-30/</link>
		<comments>http://techmanthan.wordpress.com/2007/07/13/c-30/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 09:08:31 +0000</pubDate>
		<dc:creator>Himanshu Poddar</dc:creator>
		
		<category><![CDATA[.Net Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/07/13/c-30/</guid>
		<description><![CDATA[
What&#8217;s New in C# 3.0

By: Himanshu Poddar
Even though C# 3.0 is not even standardized yet, Microsoft provided a preview release at its Professional Developers Conference (PDC) in September so eager developers could try out some of the expected features. This article discusses the following major new enhancements expected in C# 3.0:

Implicitly typed local variables 
Anonymous [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong><span style="font-size:16pt;font-family:Arial;"><u></u></span></strong><strong><span style="font-size:16pt;font-family:Arial;"><u></p>
<p align="center">What&#8217;s New in C# 3.0</p>
<p></u></span></strong></p>
<p align="right"><u><strong><span style="font-size:11pt;font-family:Arial;">By: Himanshu Poddar</span></strong></u></p>
<p><span style="font-size:11pt;font-family:Arial;">Even though C# 3.0 is not even standardized yet, Microsoft provided a preview release at its Professional Developers Conference (PDC) in September so eager developers could try out some of the expected features. This article discusses the following major new enhancements expected in C# 3.0:</span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></p>
<ol>
<li class="MsoNormal"><strong><span style="font-size:11pt;font-family:Arial;">Implicitly typed local variables </span></strong></li>
<li class="MsoNormal"><strong><span style="font-size:11pt;font-family:Arial;">Anonymous types </span></strong></li>
<li class="MsoNormal"><strong><span style="font-size:11pt;font-family:Arial;">Extension methods </span></strong></li>
<li class="MsoNormal"><strong><span style="font-size:11pt;font-family:Arial;">Object and collection initializers </span></strong></li>
</ol>
<p><span><strong><span id="more-27"></span> </strong><strong><u>1. Implicitly Typed Local Variables<br />
</u></strong><span style="font-size:11pt;font-family:Arial;"> </span></span><br />
<span><span style="font-size:11pt;font-family:Arial;"></span></span></p>
<p><span><span style="font-size:11pt;font-family:Arial;"></span></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">C# 3.0 introduces a new keyword called &#8220;var&#8221;. Var allows you to declare a new variable, whose type is implicitly inferred from the expression used to initialize the variable. In other words, the following is valid syntax in C# 3.0:</span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">var i = 1;</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">The preceding line initializes the variable i to value 1 and gives it the type of integer. Note that &#8220;i&#8221; is strongly typed to an integer—it is not an object or a VB6 variant, nor does it carry the overhead of an object or a variant.</span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-size:11pt;font-family:Arial;">To ensure the strongly typed nature of the variable that is declared with the var keyword, C# 3.0 requires that you put the assignment (initializer) on the same line as the declaration (declarator). Also, the initializer has to be an expression, not an object or collection initializer, and it cannot be null. If multiple declarators exist on the same variable, they must all evaluate to the same type at compile time. Implicitly typed arrays, on the other hand, are possible using a slightly different syntax, as shown below:</span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">var intArr = new[] {1,2,3,4} ;</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">The above line of code would end up declaring intArr as int[].</span><span style="font-size:11pt;font-family:Arial;"> </span> <span style="font-size:11pt;font-family:Arial;"><!--more--><br />
 <strong><u>2. Anonymous Types</u></strong></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><strong><u></u></strong></span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">C# 3.0 gives you the flexibility to create an instance of a class without having to write code for the class beforehand. So, you now can write code as shown below:</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">new {hair=&#8221;black&#8221;, skin=&#8221;green&#8221;, teethCount=64}</span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-size:11pt;font-family:Arial;">The preceding line of code, with the help of the &#8220;new&#8221; keyword, gives you a new type that has three properties: </span><span style="font-size:11pt;font-family:Arial;">hair, skin, and teethCount. Behind the scenes, the C# compiler would create a class that looks as follows:</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">class __Anonymous1</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">{</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span>   </span>private string _hair = &#8220;black&#8221;;</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span>   </span>private string _skin = &#8220;green&#8221;;</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span>   </span>private int _teeth<span>   </span>= 64;</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"> public string hair {get { return _hair;</span></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"> }</span></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">set { _hair = value; }}</span><span style="font-size:11pt;font-family:Arial;"><span>   </span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span></span> public string skin {get { return _skin; } set { _skin = value; }}</span><span style="font-size:11pt;font-family:Arial;"><span>   </span></span></span></p>
<p></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span></span> public int teeth {get { return _teeth; } set { _teeth = value; }}</span></span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></p>
<p align="left"><span style="font-size:11pt;font-family:Arial;">}</span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-size:11pt;font-family:Arial;">In fact, if another anonymous type that specified the same sequence of names and types were created, the compiler would be smart enough to create only a single anonymous type for both instances to use. </span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-size:11pt;font-family:Arial;">Now you have a class, but you still need something to hold an instance of the above class. This is where the &#8220;var&#8221; keyword comes in handy; it lets you hold a statically typed instance of the above instance of the anonymous type. Here is a rather simple and easy use of an anonymous type:</span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">var frankenstein = new {hair=&#8221;black&#8221;, skin=&#8221;green&#8221;, teethCount=64}</span><span style="font-size:11pt;font-family:Arial;"> </span> <span style="font-size:11pt;font-family:Arial;"><!--more--><br />
 <strong><u>3. Extension Methods</u></strong></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><strong><u></u></strong></span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">Extension methods enable you to extend various types with additional static methods. However, they are quite limited and should be used as a last resort—only where instance methods are insufficient. Extension methods can be declared only in static classes and are identified by the keyword &#8220;this&#8221; as a modifier on the first parameter of the method. The following is an example of a valid extension method:</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">public static int ToInt32(this string s)</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">{</span><span style="font-size:11pt;font-family:Arial;"><span>   </span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span></span>return Convert.ToInt32(s) ;</span><span style="font-size:11pt;font-family:Arial;">                       </span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">}</span><span style="font-size:11pt;font-family:Arial;"></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;">If the static class that contains the above method is imported using the &#8220;using&#8221; keyword, the ToInt32 method will appear in existing types (albeit in lower precedence to existing instance methods), and you will be able to compile and execute code that looks as follows:</span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">string s = &#8220;1&#8243;;</span><span style="font-size:11pt;font-family:Arial;">int i<span>    </span>= s.ToInt32();</span></p>
<p><span style="font-size:11pt;font-family:Arial;">This allows you to take advantage of the extensible nature of various built-in or defined types and add newer methods to them.</span><span style="font-size:11pt;font-family:Arial;"> </span> <span style="font-size:11pt;font-family:Arial;"><!--more--><strong><u><br />
4. Object and Collection Initializers</u></strong></span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">C# 3.0 is expected to allow you to include an initializer that specifies the initial values of the members of a newly created object or collection. This enables you to combine declaration and initialization in one step.</span><span style="font-size:11pt;font-family:Arial;">For instance, if you defined a CoOrdinate class as follows:</span><span style="font-size:11pt;font-family:Arial;"> </span></p>
<p><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">public class CoOrdinate</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">{</span><span style="font-size:11pt;font-family:Arial;"><span>   </span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span></span>public int x ;</span><span style="font-size:11pt;font-family:Arial;"><span>   </span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span></span>public int y;</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">}</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">You then could declare and initialize a CoOrdinate object using an object initializer, like this:</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">var myCoOrd = new CoOrdinate{ x = 0, y= 0} ;</span><span style="font-size:11pt;font-family:Arial;"> </span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">The above code may have made you raise your eyebrows and ask, &#8220;Why not just write the following:</span></span></p>
<p></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">&#8220;</span><span style="font-size:11pt;font-family:Arial;">var myCoOrd = new CoOrdinate(0, 0) ;</span><span style="font-size:11pt;font-family:Arial;"> </span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">Similarly, you should easily be able to give values to collections in a rather concise and compact manner in C# 3.0. For instance, the following C# 2.0 code:</span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;">List&lt;string&gt; animals = new List&lt;string&gt;();</span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">animals.Add(&#8221;monkey&#8221;);</span><span style="font-size:11pt;font-family:Arial;">animals.Add(&#8221;donkey&#8221;);</span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">animals.Add(&#8221;cow&#8221;);</span><span style="font-size:11pt;font-family:Arial;">animals.Add(&#8221;dog&#8221;);</span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">animals.Add(&#8221;cat&#8221;);</span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">Now can be shortened to simply:</span></span></span></p>
<p><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"><span style="font-size:11pt;font-family:Arial;"></span><span style="font-size:11pt;font-family:Arial;">List&lt;string&gt; animals = new List&lt;string&gt; {</span><span style="font-size:11pt;font-family:Arial;"><span>   </span>&#8220;monkey&#8221;, &#8220;donkey&#8221;, &#8220;cow&#8221;, &#8220;dog&#8221;, &#8220;cat&#8221; } ;</span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=27&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/07/13/c-30/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AJAX Implemetation</title>
		<link>http://techmanthan.wordpress.com/2007/05/29/ajax-implemetation/</link>
		<comments>http://techmanthan.wordpress.com/2007/05/29/ajax-implemetation/#comments</comments>
		<pubDate>Tue, 29 May 2007 10:07:51 +0000</pubDate>
		<dc:creator>sandipdavda</dc:creator>
		
		<category><![CDATA[.Net Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/05/29/ajax-implemetation/</guid>
		<description><![CDATA[AJAX(ASP.Net) Implemetation
By Priyank Rach
In previous article on Ajax http://techmanthan.wordpress.com/2007/05/07/ajax/, Himanshu had discussed about the Ajax web application model, how it differs from classic web application model, Advantages &#38; disadvantages of Ajax. In this article we will see how to start with Ajax in ASP.Net.
First you will have to download ASP.Net Ajax Extension. It can be [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center" style="text-indent:0.5in;" class="MsoNormal"><strong><span style="font-size:14pt;font-family:Verdana;">AJAX(ASP.Net) Implemetation</span></strong></p>
<p align="right" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:12pt;font-family:Verdana;"><u><strong>By Priyank Rach</strong></u></span></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:8pt;font-family:Arial;">In previous article on Ajax <a href="http://techmanthan.wordpress.com/2007/05/07/ajax/">http://techmanthan.wordpress.com/2007/05/07/ajax/</a>, Himanshu had discussed about the Ajax web application model, how it differs from classic web application model, Advantages &amp; disadvantages of Ajax. In this article we will see how to start with Ajax in ASP.Net.</span></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">First you will have to download <strong>ASP.Net Ajax Extension</strong>. It can be free download from web. Now go for its installation. After the successful installation of it, you will able to see a new template in wizard of creating a new web site. It would be named as <strong>“ASP.Net Ajax Enabled Website”</strong>. </span></p>
<p><img src="http://techmanthan.files.wordpress.com/2007/05/template2.jpg" alt="template2.jpg" /></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">In this web site you will be able to see <strong>“Ajax Extensions”</strong> in toolbar. It has the controls like script manager, Update panel which gives Ajax benefits to your web application.</span></p>
<p style="text-align:center;"><img src="http://techmanthan.files.wordpress.com/2007/05/toolbar2.jpg" alt="toolbar2.jpg" /></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">As you will be able to see there form is default loaded with <strong>script manager</strong>. It loads all necessary scripts for Ajax controls.<span> </span>Now you can drag the <strong>Update Panel</strong>. Update panel is the control which allows asynchronous post back to your application. Means you can refresh the controls inside the panel without refreshing the whole page. </span></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">Now as this indicate, controls within the update panel can refresh the portion covered by the panel. Similarly you can refresh the panel by control which is outside of that panel also.<span> </span>These can be gained using “<strong>Triggers</strong>”. In trigger also you can have the option to partially refresh the page or our convential refresh (whole page). Trigger can be fired on various events like Button click, dropdown selected index change or radio button state change etc.</span></p>
<p align="justify" style="text-indent:0.5in;" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">This was related to creating a new Ajax enabled web site, but if you already have a web application and if you want to have Ajax features in it then you may need to create a dummy Ajax enabled application through template and copy the web.config file to your web application’s web.config file. You may need to copy only the Ajax related portion from your web.config file. </span></p>
<p align="justify" class="MsoNormal"><span style="font-size:10pt;font-family:Arial;">Let us know how useful you find this article…</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=23&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/05/29/ajax-implemetation/feed/</wfw:commentRss>
	
		<media:content url="http://techmanthan.files.wordpress.com/2007/05/template2.jpg" medium="image">
			<media:title type="html">template2.jpg</media:title>
		</media:content>

		<media:content url="http://techmanthan.files.wordpress.com/2007/05/toolbar2.jpg" medium="image">
			<media:title type="html">toolbar2.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Giving SOAP a REST</title>
		<link>http://techmanthan.wordpress.com/2007/05/18/giving-soap-a-rest/</link>
		<comments>http://techmanthan.wordpress.com/2007/05/18/giving-soap-a-rest/#comments</comments>
		<pubDate>Fri, 18 May 2007 09:37:58 +0000</pubDate>
		<dc:creator>sandipdavda</dc:creator>
		
		<category><![CDATA[Latest Trends]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/05/18/giving-soap-a-rest/</guid>
		<description><![CDATA[Giving SOAP a REST
By Niraj Vadher
Many developers will be surprised to learn that SOAP isn&#8217;t the only game in town for Web services interfacing. REST offers a perfectly good solution for the majority of implementations, with greater flexibility and lower overhead. Developers need to stop reaching immediately for SOAP and start choosing the right technology [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:center;" align="center"><strong><span style="font-size:16pt;font-family:Verdana;color:black;">Giving SOAP a REST</span></strong></p>
<p class="MsoNormal" style="text-align:right;" align="right"><strong><u><span style="font-family:Verdana;color:black;">By Niraj Vadher</span></u></strong></p>
<p class="MsoNormal" align="justify"><strong><em><span style="font-size:10pt;font-family:Arial;color:black;">Many developers will be surprised to learn that SOAP isn&#8217;t the only game in town for Web services interfacing. REST offers a perfectly good solution for the majority of implementations, with greater flexibility and lower overhead. Developers need to stop reaching immediately for SOAP and start choosing the right technology for the application. </span></em></strong></p>
<p><span style="font-size:10pt;font-family:Arial;color:black;">For the past two years, the hype surrounding the Simple Object Access Protocol (<a href="http://www.w3.org/TR/SOAP/" target="_blank" title="http://www.w3.org/TR/SOAP/">SOAP</a>) has barely waned, although its opponents have gradually risen in number. While some critics are simply tired of hearing about Web services, a small handful of Internet architects have come up with a surprisingly good argument for pushing SOAP aside: there&#8217;s a better method for building Web services in the form of Representational State Transfer (<a href="http://www.ics.uci.edu/%7Efielding/talks/webarch_9805/" target="_blank" title="http://www.ics.uci.edu/~fielding/talks/webarch_9805/">REST</a>). </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">REST is more an old philosophy than a new technology. Whereas SOAP looks to jump-start the next phase of Internet development with a host of new specifications, the REST philosophy espouses that the existing principles and protocols of the Web are enough to create robust Web services. This means that developers who understand HTTP and XML can start building Web services right away, without needing any toolkits beyond what they normally use for Internet application development. </span></p>
<p align="justify"><strong><span style="font-family:Verdana;color:black;">Interface Flexibility</span></strong><span style="font-family:Verdana;color:black;"><br />
</span><span style="font-size:10pt;font-family:Arial;color:black;">The key to the REST methodology is to write Web services using an interface that is already well known and widely used: the URI. For example, exposing a stock quote service, in which a user enters a stock quote symbol to return a real-time price, could be as simple as making a script accessible on a Web server via the following URI: http://www.somebrokerage.com/quote?symbol=QQQ. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">Any client or server application with HTTP support could easily call that service with an HTTP GET command. Depending on how the service provider wrote the script, the resulting HTTP response might be as simple as some standard headers and a text string containing the current price for the given ticker symbol. Or, it might be an XML document. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">This interface method has significant benefits over SOAP-based services. Any developer can figure out how to create and modify a URI to access different Web resources. SOAP, on the other hand, requires specific knowledge of a new XML specification, and most developers will need a SOAP toolkit to form requests and parse the results. </span></p>
<p><strong><span style="font-family:Verdana;color:black;">Lighter on Bandwidth</span></strong><span style="font-size:10pt;font-family:Arial;color:black;"><br />
</span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;"> Another benefit of the RESTful interface is that requests and responses can be short. SOAP requires an XML wrapper around every request and response. Once namespaces and typing are declared, a four- or five-digit stock quote in a SOAP response could require more than 10 times as many bytes as would the same response in REST. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">SOAP proponents argue that strong typing is a necessary feature for distributed applications. In practice, though, both the requesting application and the service know the data types ahead of time; thus, transferring that information in the requests and responses is gratuitous. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">How does one know the data types—and their locations in the response—ahead of time? Like SOAP, REST still needs a corresponding document that outlines input parameters and output data. The good part is that REST is flexible enough that developers could write WSDL files for their services if such a formal declaration was necessary. Otherwise, the declaration could be as simple as a human-readable Web page that says, &#8220;Give this service an input of some stock ticker symbol, in the format q=symbol, and it will return the current price of one share of stock as a text string.&#8221; </span></p>
<p><strong><span style="font-family:Verdana;color:black;">Security Safeguards</span></strong><span style="font-family:Verdana;color:black;"><br />
</span></p>
<p align="justify"><span style="font-family:Verdana;color:black;"> </span><span style="font-size:10pt;font-family:Arial;color:black;">Probably the most interesting aspect of the REST vs. SOAP debate is the security angle. Although the SOAP camp insists that sending remote procedure calls through standard HTTP ports is a good way to ensure Web services support across organizational boundaries, REST followers argue that the practice is a major design flaw that compromises network safety. REST calls also go over HTTP or HTTPS, but with REST the administrator (or firewall) can discern the intent of each message by analyzing the HTTP command used in the request. For example, a GET request can always be considered safe because it can&#8217;t, by definition, modify any data. It can only query data. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">A typical SOAP request, on the other hand, will use POST to communicate with a given service. And without looking into the SOAP envelope—a task that is both resource-consuming and not built into most firewalls—there&#8217;s no way to know whether that request simply wants to query data or delete entire tables from the database. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">As for authentication and authorization, SOAP places the burden in the hands of the application developer. The REST methodology instead takes into account the fact that Web servers already have support for these tasks. Through the use of industry-standard certificates and a common identity management system, such as an LDAP server, developers can make the network layer do all the heavy lifting. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">This is not only helpful to developers, but it eases the burden on administrators, who can use something as simple as ACL files to manage their Web services the same way they would any other URI. </span></p>
<p><strong><span style="font-family:Verdana;color:black;">Not For Everything</span></strong><span style="font-size:10pt;font-family:Arial;color:black;"><br />
</span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;"> To be fair, REST isn&#8217;t the best solution for every Web service. Data that needs to be secure should not be sent as parameters in URIs. And large amounts of data, like that in detailed purchase orders, can quickly become cumbersome or even out of bounds within a URI. In these cases, SOAP is indeed a solid solution. But it&#8217;s important to try REST first and resort to SOAP only when necessary. This helps keep application development simple and accessible. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">Fortunately, the REST philosophy is catching on with developers of Web services. The latest version of the SOAP specification now allows certain types services to be exposed through URIs (although the response is still a SOAP message). Similarly, users of Microsoft .NET platform can publish services so that they use GET requests. All this signifies a shift in thinking about how best to interface Web services. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;color:black;">Developers need to understand that sending and receiving a SOAP message isn&#8217;t always the best way for applications to communicate. Sometimes a simple REST interface and a plain text response does the trick—and saves time and resources in the process. </span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=22&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/05/18/giving-soap-a-rest/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google changing their Algorithm</title>
		<link>http://techmanthan.wordpress.com/2007/05/18/google-changing-their-algorithm/</link>
		<comments>http://techmanthan.wordpress.com/2007/05/18/google-changing-their-algorithm/#comments</comments>
		<pubDate>Fri, 18 May 2007 08:17:11 +0000</pubDate>
		<dc:creator>sandipdavda</dc:creator>
		
		<category><![CDATA[Latest Trends]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/05/18/google-changing-their-algorithm/</guid>
		<description><![CDATA[Google changing their Algorithm.
By Sandip Davda
Google has just sent a report of a series of updates to their interface and algorithm, as they move towards what they call a &#8220;universal search model&#8221;. 
With Google&#8217;s universal search, every time you conduct a search, Google checks across all of its search properties - web, image, video, news [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1 align="center"><span style="font-family:Verdana;">Google changing their Algorithm.<span></h1>
<p align="right"><u><span style="font-size:12pt font-family: Verdana;">By Sandip Davda<span></u></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">Google has just sent a report of a series of updates to their interface and algorithm, as they move towards what they call a <strong><span style="font-family:Arial;">&#8220;universal search model&#8221;.</span></strong> </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">With Google&#8217;s universal search, every time you conduct a search, Google checks across all of its search properties - web, image, video, news etc - and presents a single unified results page, that incorporates the most relevant content.</span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">For example, a user searching for information on the Star Wars character Darth Vader is likely interested in all the information related to the character and the actor - not just web pages that mention the movie. Google will now deliver a single set of blended search results that include a humorous parody of the movie, images of the Darth Vader character, news reports on the latest Lucas film, as well as websites focused on the actor James Earl Jones - all ranked in order of relevance to the query. Users no longer have to visit several different Google search properties to find such a wide array of information on the topic.</span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">Google&#8217;s new universal interface is certainly the boldest change by the search engine in many years, and the company is having to significantly upgrade its technology in order to support the new roll out. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">Google is also in the process of deploying a new technical infrastructure that will enable the search engine to handle the computationally intensive tasks required to produce universal search results. The company is also releasing the first stage of an upgraded ranking mechanism that automatically and objectively compares different types of information. As always, <strong><span style="font-family:Arial;">Google(TM) search results are ranked automatically by algorithms</span></strong> to deliver the best results to users anywhere in the world.The level and speed of search innovation at Google has increased. Most of this innovation addresses basic ranking algorithms and is often not obvious to users. Users just see more accurate results, more often, in more languages, which is our primary goal</span></p>
<p align="left"><strong><span style="font-size:12pt;font-family:Verdana;">Changes in Navigation options Too&#8230;.</span> </strong></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">In addition to the new algorithm, Google&#8217;s made changes to the navigation options, presenting new menu options &#8220;on the fly&#8221; depending on the type of search query</span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">New dynamically generated navigation links have been added above the search results to suggest additional information that is relevant to a user&#8217;s query. For example, a search for &#8220;python&#8221; will now generate links to <strong><span style="font-family:Arial;">Google Blog Search(TM)</span></strong>, <strong><span style="font-family:Arial;">Google Book Search(TM)</span></strong>, <strong><span style="font-family:Arial;">Google Groups(TM)</span></strong>, and <strong><span style="font-family:Arial;">Google Code(TM)</span></strong>, to let the user know there is additional information on his or her query in each of those areas. As a result, users can find a wider array of information on their topic, including data types they might not have initially considered. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">Google&#8217;s homepage and a number of applications have also been updated with a new navigation bar to provide easier access to popular Google products. Now, instead of having links above the Google.com homepage search box, users will see a navigation bar on the top left side of the page with various Google search properties and popular products including <strong><span style="font-family:Arial;">Gmail(TM)</span></strong>, <strong><span style="font-family:Arial;">Google Calendar(TM),</span></strong> <strong><span style="font-family:Arial;">Google Docs &amp; Spreadsheets(TM), and Picasa Web Albums(TM).</span></strong></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">This is huge! Google&#8217;s basically telling users - and its competitors - that it has figured out how to identify the type of search query entered and provide a single set of results that it is confident will include all the information you could possibly want. While we&#8217;ve seen Google dip its toe in the water of predictive search - showing us images or stock prices - this overhaul of the search results page completely changes the way everyone interacts with Google. </span></p>
<p align="justify"><span style="font-size:10pt;font-family:Arial;">Users will benefit, as they&#8217;ll likely find Google&#8217;s search results to be much more relevant, meanwhile seo services company will find that their job has become a lot more complex. Now, instead of focusing on web search and battling others for one of the coveted Top 10 spots for a particular search term, they&#8217;re going to find the Top 10 now includes results drawn from other indexes such as images, news and video. SEO&#8217;s will be faced with two choices. Stick with just web search, and be content that they may only have 5-6 opportunities to be in the Top 10 on Google, or, look at ways to optimize content such as photos, videos, news items, and use a broader approach to gaining page one exposure.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=21&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/05/18/google-changing-their-algorithm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JAVA DESING PATTERNS - I</title>
		<link>http://techmanthan.wordpress.com/2007/05/14/java-desing-patterns-i/</link>
		<comments>http://techmanthan.wordpress.com/2007/05/14/java-desing-patterns-i/#comments</comments>
		<pubDate>Mon, 14 May 2007 05:26:12 +0000</pubDate>
		<dc:creator>deepak parmar</dc:creator>
		
		<category><![CDATA[Java Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/05/14/java-desing-patterns-i/</guid>
		<description><![CDATA[JAVA DESIGN PATTERN (PART-I)
                                                    [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1><span style="font-family:Verdana;">JAVA DESIGN PATTERN (PART-I)</span></h1>
<p><strong><span style="font-size:14pt;font-family:Verdana;">                                                                By Deepak Parmar</font></span></strong></p>
<p><strong><span style="font-size:14pt;font-family:Verdana;"><strong><span style="font-family:Arial;"></span></strong><strong><span style="font-family:Arial;"></span></strong></span></strong><strong><span style="font-size:14pt;font-family:Verdana;"></span></strong><strong><span style="font-size:14pt;font-family:Verdana;"></span></strong><span style="font-size:10pt;font-family:Arial;">“Pattern” as the name suggests, means series of events occurring in a definite order. The patterns can be found in Java and J2ee technologies also. Many a times, we find that there is a particular way of tackling a problem. This way is easy and has been used many times successfully by a number of people earlier also. This method becomes a pattern.</span></p>
<p><span style="font-size:10pt;font-family:Arial;"></span><strong><span style="font-size:10pt;font-family:Arial;">Patterns Defined:</span></strong><span style="font-size:10pt;font-family:Arial;"> The patterns can be defined in many ways. You can find the definitions of patterns in many good books.</span></p>
<p><em><strong><span style="font-size:10pt;font-family:Arial;">&#8220;Design patterns are recurring solutions to design problems.&#8221;</span></strong></em></p>
<p><strong><span style="font-size:10pt;font-family:Arial;">Patterns:</span></strong><span style="font-size:10pt;font-family:Arial;"> According to commonly known practices, there are 23 design patterns in Java. These patterns are grouped under three heads:</span><span style="font-size:10pt;font-family:Arial;"><br />
</span><span style="font-size:10pt;font-family:Arial;"> </span></p>
<p><span style="font-size:10pt;font-family:Arial;">1. Creational Patterns</span><span style="font-size:10pt;font-family:Arial;"> </span></p>
<p><span style="font-size:10pt;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;">2. Structural Patterns</span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;">3. Behavioral Patterns</span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><strong><span style="font-family:Verdana;">Creational Patterns - Factory Pattern</span></strong></span><span style="font-size:10pt;font-family:Arial;"> </span></span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;">Factory of what? Of classes. In simple words, if we have a super class and n sub-classes, and based on data provided, we have to return the object of one of the sub-classes, we use a factory pattern.Let’s take an example to understand this pattern.</span></span></span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span></span></span></p>
<p><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span><span style="font-size:10pt;font-family:Arial;"> </span></span></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span></span><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"><span style="font-size:10pt;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;"><span style="font-family:Arial;"></span><strong><span style="font-size:10pt;font-family:Arial;">Example:</span></strong><span style="font-size:10pt;font-family:Arial;"> Let’s suppose an application asks for entering the name and sex of a person. If the sex is Male (M), it displays welcome message saying Hello Mr. &lt;Name&gt; and if the sex is Female (F), it displays message saying Hello Ms &lt;Name&gt;.</span><span style="font-size:10pt;font-family:Arial;">The skeleton of the code can be given here.<span style="font-family:Arial;"></span></span></span></span></span></p>
<table style="width:100%;" class="MsoNormalTable" border="0" cellpadding="0" width="100%">
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">public class Person {</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td style="border:medium none #ece9d8;width:10%;background-color:transparent;padding:0.75pt;" width="10%"><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-family:Arial;"></span></td>
<td style="border:medium none #ece9d8;width:90%;background-color:transparent;padding:0.75pt;" width="90%"><span style="font-size:10pt;font-family:Arial;">// name string<br />
public String name;<br />
// gender : M or F<br />
private String gender; </span><span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">public String getName() {<br />
return name;<br />
}public String getGender() {<br />
return gender;<br />
}<span style="font-family:Arial;"></span></span></td>
</tr>
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">}// End of class</span><span style="font-family:Arial;"></span></td>
</tr>
</table>
<p><span style="font-size:10pt;font-family:Arial;">This is a simple class Person having methods for name and gender. Now, we will have two sub-classes, Male and Female which will print the welcome message on the screen.</span><span style="font-family:Arial;"></span></p>
<table style="width:100%;" class="MsoNormalTable" border="0" cellpadding="0" width="100%">
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">public class Male extends Person {</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td style="border:medium none #ece9d8;width:10%;background-color:transparent;padding:0.75pt;" width="10%"><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-family:Arial;"></span></td>
<td style="border:medium none #ece9d8;width:90%;background-color:transparent;padding:0.75pt;" width="90%"><span style="font-size:10pt;font-family:Arial;">public Male(String fullName) {<br />
System.out.println(&#8221;Hello Mr. &#8220;+fullName);<br />
}</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">}// End of class</span><span style="font-family:Arial;"></span></td>
</tr>
</table>
<p><span style="font-family:Arial;"></span><span style="font-family:Arial;"><span style="font-size:10pt;font-family:Arial;">Also, the class Female</span><span style="font-family:Arial;"></span></span></p>
<table style="width:100%;" class="MsoNormalTable" border="0" cellpadding="0" width="100%">
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">public class Female extends Person {</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td style="border:medium none #ece9d8;width:10%;background-color:transparent;padding:0.75pt;" width="10%"><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-family:Arial;"></span></td>
<td style="border:medium none #ece9d8;width:90%;background-color:transparent;padding:0.75pt;" width="90%"><span style="font-size:10pt;font-family:Arial;">public Female(String fullNname) {<br />
System.out.println(&#8221;Hello Ms. &#8220;+fullNname);<br />
}</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">}// End of class</span><span style="font-family:Arial;"></span></td>
</tr>
</table>
<p><span style="font-size:10pt;font-family:Arial;">Now, we have to create a client, or a SalutationFactory which will return the welcome message depending on the data provided. </span><span style="font-family:Arial;"></span></p>
<table style="width:100%;" class="MsoNormalTable" border="0" cellpadding="0" width="100%">
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">public class SalutationFactory {</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td style="border:medium none #ece9d8;width:10%;background-color:transparent;padding:0.75pt;" width="10%"><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-family:Arial;"></span></td>
<td style="border:medium none #ece9d8;width:90%;background-color:transparent;padding:0.75pt;" width="90%"><span style="font-size:10pt;font-family:Arial;">public static void main(String args[]) {<br />
SalutationFactory factory = new SalutationFactory();<br />
factory.getPerson(args[0], args[1]);<br />
}</span><span style="font-family:Arial;"><font size="3"> </font></span><span style="font-size:10pt;font-family:Arial;">public Person getPerson(String name, String gender) {<br />
if (gender.equals(&#8221;M&#8221;))<br />
return new Male(name);<br />
else if(gender.equals(&#8221;F&#8221;))<br />
return new Female(name);<br />
else<br />
return null;<br />
}</span><span style="font-family:Arial;"></span></td>
</tr>
<tr>
<td colspan="2" style="border:medium none #ece9d8;background-color:transparent;padding:0.75pt;"><span style="font-size:10pt;font-family:Arial;">}// End of class</span><span style="font-family:Arial;"></span></td>
</tr>
</table>
<p><span style="font-size:10pt;font-family:Arial;">This class accepts two arguments from the system at runtime and prints the names. </span><span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">Running the program:</span><span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">After compiling and running the code on my computer with the arguments Prashant and M:</span><span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">java Prashant M</span><span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;">The result returned is: “Hello Mr. Prashant”.</span></p>
<p><span style="font-size:10pt;font-family:Arial;"></span><span style="font-family:Arial;"></span><strong><span style="font-size:10pt;font-family:Arial;">When to use a Factory Pattern?</span></strong></p>
<p><strong><span style="font-size:10pt;font-family:Arial;"></span></strong><span style="font-size:10pt;font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;"> </span><span style="font-size:10pt;font-family:Arial;">1. When a class does not know which class of objects it must create.<br />
2. A class specifies its sub-classes to specify which objects to create.<br />
3. In programmer’s language (very raw form), you can use factory pattern where you have to create an object of any one of sub-classes depending on the data provided.<span style="font-family:Arial;"></span><span style="font-size:10pt;font-family:Arial;"> </span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=20&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/05/14/java-desing-patterns-i/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/deepakparmar-128.jpg" medium="image">
			<media:title type="html">deepakparmar</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Database 10g Express Edition – Free(Can’t Believe? Read on….)</title>
		<link>http://techmanthan.wordpress.com/2007/05/11/oracle-database-10g-express-edition-%e2%80%93-freecan%e2%80%99t-believe-read-on%e2%80%a6/</link>
		<comments>http://techmanthan.wordpress.com/2007/05/11/oracle-database-10g-express-edition-%e2%80%93-freecan%e2%80%99t-believe-read-on%e2%80%a6/#comments</comments>
		<pubDate>Fri, 11 May 2007 12:17:18 +0000</pubDate>
		<dc:creator>sandipdavda</dc:creator>
		
		<category><![CDATA[Database Manthan]]></category>

		<guid isPermaLink="false">http://techmanthan.wordpress.com/2007/05/11/oracle-database-10g-express-edition-%e2%80%93-freecan%e2%80%99t-believe-read-on%e2%80%a6/</guid>
		<description><![CDATA[&#160;
Oracle Database 10g Express Edition – Free(Can’t Believe? Read on….)
By Sandip Davda
This is really a very good news for all Oracle fans who want to learn/use oracle but cant aford it….
Oracle Database 10g Express Edition is Free to develop, deploy, and distribute. Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center">&nbsp;</p>
<h2><span style="font-family:Verdana;">Oracle Database 10g Express Edition – Free(Can’t Believe? Read on….)</span></h2>
<p align="right"><span style="font-size:12pt;font-family:Verdana;"><u><strong>By Sandip Davda</strong></u></span></p>
<p>This is really a very good news for all Oracle fans who want to learn/use oracle but cant aford it….</p>
<p align="justify">Oracle Database 10g Express Edition is Free to develop, deploy, and distribute. Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that&#8217;s free to develop, deploy, and distribute; fast to download; and simple to administer.</p>
<p>Oracle Database XE is a great starter database for:</p>
<ul>
<li>Developers working on PHP, Java, .NET, XML, and Open Source applications.</li>
<li>DBAs who need a free, starter database for training and deployment.</li>
<li>Independent Software Vendors (ISVs) and hardware vendors who want a starter database to distribute free of charge.</li>
<li>Educational institutions and students who need a free database for their curriculum With</li>
</ul>
<p align="justify">Oracle Database XE, you can now develop and deploy applications with a powerful, proven, industry-leading infrastructure, and then upgrade when necessary without costly and complex migrations.</p>
<p align="justify">Oracle Database XE can be installed on any size host machine with any number of CPUs (one database per machine), but XE will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine. Download Oracle Database 10g Express Edition Oracle Database XE includes Oracle HTML DB 2.1, a declarative, graphical development environment for creating database-centric Web applications. In addition to HTML DB 2.1, you can use popular Oracle and third-party languages and tools to develop your Oracle Database XE applications. Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base. Adrian Bridgwater samples a cup of this fresh new brew.</p>
<p align="justify"><strong>Is it really free?</strong><br />
Oracle Database XE really is for free development. There are no database license costs associated with developing applications for the product and it is offered using the complete integrated set of Oracle Database programming interfaces. This includes SQL, PL/SQL, Java, C and PHP, Windows .Net, Oracle Application Express, C++, ODBC and OLE DB. Developers can then freely distribute Oracle Database XE as a standalone database or as part of a third-party application or product, provided the defined criteria are adhered to.</p>
<p align="justify">“Oracle Database XE allows developers, DBAs, ISVs and students the opportunity to learn, develop and deploy on the world’s leading database software, at no cost,” said Thomas Kyte, vice president, Oracle. “No one has to make do anymore; everyone can now start with the best.” “Developers, DBAs, students and ISVs often look to no cost DBMSs to get started in developing and learning to develop database applications,” said Carl Olofson, research director for information management and data integration software research at analyst firm IDC. “When such a DBMS is supported by a wealth of literature, online technical material and professional experts, it allows developers to easily grow and support their applications and data needs over time without needing to convert their database later on, the result is a low risk path that offers a high potential return not only immediately, but in the long run.”</p>
<p align="justify">When such a DBMS is so well supported&#8230; it allows developers to easily grow and support their applications and data needs over time without needing to convert their database later on.</p>
<p align="justify"><strong>How do I manage Oracle Database XE? </strong><br />
Oracle Database XE comes complete with its own management browser interface to monitor database activity and manage database users, storage and memory. The Oracle Database 10g product family offers many different options and features across different editions.For a complete comparison, see <a href="http://oracle.com/technology/products/database/oracle10g/pdf/twp_general_10gdb_product_family.pdf">oracle.com/technology/products/database/oracle10g/pdf/twp_general_10gdb_product_family.pdf </a><br />
Registered users of Oracle Database XE get access to a free online community forum hosted and monitored by Oracle experts at <a href="http://oracle.com/technology/xe">oracle.com/technology/xe </a>and the company urges all users to register and take advantage of this free resource. Users are encouraged to discuss challenges and successes in the online community forum so that the Oracle Database XE development team can respond.</p>
<p align="justify">So how will ISVs benefit from Oracle Database XE? With Oracle Database XE, ISVs have one of the industry’s leading database technology to power their applications. Distributing it in their applications or products without additional cost offers even greater value to their customers, this is what Oracle says – but it’s hard to argue with the fact that even ISVs who are unfamiliar with Oracle Database have an opportunity to experience the technology, validate it with their applications and freely distribute it-with zero risk and investment.</p>
<p align="justify"><strong>Migration situation</strong><br />
If your usage exceeds Oracle Database XE criteria then the company offers a choice of database editions to upgrade to. Depending on scale of application requirements, you can easily upgrade to Standard Edition One, Standard Edition, or Enterprise Edition.</p>
<p align="justify">Migration is pretty straightforward. Any application developed for Oracle Database XE will run completely unchanged with Oracle Database 10g Standard Edition One, Standard Edition, or Enterprise Edition; application development investment is guaranteed.</p>
<p align="justify">Oracle Database 10g Express Edition Features</p>
<ul>
<li>Available on 32-bit Linux and Windows</li>
<li>Installs using native installers</li>
<li>English (single byte character set) and International (Unicode) versions available with support for 10 major languages</li>
<li>Supports up to 4GB of user data</li>
<li>Executes on one processor in any size server</li>
<li>Uses up to 1GB RAM of available memory in any size server</li>
<li>Fully upgradeable to other Oracle Database 10g editions</li>
<li>Oracle Text for efficient text-based searches</li>
<li>Oracle Data Provider for .NET</li>
</ul>
<p><strong>Oracle Database XE Development Environments</strong></p>
<ul>
<li>Oracle Call Interface for C and C++</li>
<li>Oracle Application Express</li>
<li>ODBC</li>
<li>OLE DB</li>
<li>JDBC</li>
<li>PHP</li>
</ul>
<p><strong>The Limitations of Oracle 10gXE</strong></p>
<ul>
<li>Supports upto 4GB of user data (in addition to Oracle system data)</li>
<li>Single instance only of Oracle DatabaseXE on any server</li>
<li>May be installed on a multiple CPU server, but only executes on one processor in any server</li>
<li>May be installed on a server with any amount of memory, but will only use upto 1GB RAM of available memory</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techmanthan.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techmanthan.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techmanthan.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techmanthan.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techmanthan.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techmanthan.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techmanthan.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techmanthan.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techmanthan.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techmanthan.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techmanthan.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techmanthan.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techmanthan.wordpress.com&blog=1042563&post=19&subd=techmanthan&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techmanthan.wordpress.com/2007/05/11/oracle-database-10g-express-edition-%e2%80%93-freecan%e2%80%99t-believe-read-on%e2%80%a6/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>