<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>javaforweb</title>
	<atom:link href="http://javaforweb.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javaforweb.wordpress.com</link>
	<description>Web Development Guide</description>
	<lastBuildDate>Sun, 30 Aug 2009 11:11:36 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='javaforweb.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b471d73082fe59df041b4c8cdc7456b0?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>javaforweb</title>
		<link>http://javaforweb.wordpress.com</link>
	</image>
			<item>
		<title>TremendousX &#8211; Beyond The Imagination !!</title>
		<link>http://javaforweb.wordpress.com/2009/08/30/tremendousxn/</link>
		<comments>http://javaforweb.wordpress.com/2009/08/30/tremendousxn/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 11:10:09 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[tremendousx]]></category>
		<category><![CDATA[tremendousx beyong the imagination]]></category>
		<category><![CDATA[tremendousx software development]]></category>
		<category><![CDATA[tremendousx total it solution]]></category>
		<category><![CDATA[web development tremendousx]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=122</guid>
		<description><![CDATA[Hello Friends
After one year of long time I am here again. This time to tell you about Our Web Design and Software development Unit.
Please visit &#8211;  http://www.tremendousx.com/
In this one year we got a good experience in the local market. We are exploring more opportunities in India and Abroad too. We have an experienced team of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=122&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hello Friends</p>
<p>After one year of long time I am here again. This time to tell you about Our Web Design and Software development Unit.</p>
<p>Please visit &#8211;  <a title="TremendousX - beyond the Imagination" href="http://www.tremendousx.com/" target="_blank">http://www.tremendousx.com/</a></p>
<p>In this one year we got a good experience in the local market. We are exploring more opportunities in India and Abroad too. We have an experienced team of very good developers and good service providers. I started as an IT consultant in the same.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=122&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2009/08/30/tremendousxn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
		<item>
		<title>MDA- Model Driven Architecture for Software Devlopment</title>
		<link>http://javaforweb.wordpress.com/2008/06/08/mda/</link>
		<comments>http://javaforweb.wordpress.com/2008/06/08/mda/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 10:46:53 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[MDA]]></category>
		<category><![CDATA[OMG]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[OMG MDA]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=105</guid>
		<description><![CDATA[

In this post I will discuss about Model Driven Architecture and its potential in building big projects at rapid pace with high proficiency.
Experienced application developers often invest more time in building models than they do in actually writing code. Well-constructed models make it easier to deliver large, complex enterprise systems on time and within budget.
            
MDA [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=105&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><code></p>
<p></code></p>
<p><a href="http://javaforweb.files.wordpress.com/2008/06/untitled1.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/06/untitled2.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/06/untitled4.jpg"></a>In this post I will discuss about Model Driven Architecture and its potential in building big projects at rapid pace with high proficiency.</p>
<p>Experienced application developers often invest more time in building models than they do in actually writing code. Well-constructed models make it easier to deliver large, complex enterprise systems on time and within budget.<br />
            <a href="http://javaforweb.files.wordpress.com/2008/06/mda4.jpg"><img class="alignnone size-medium wp-image-107" src="http://javaforweb.files.wordpress.com/2008/06/mda4.jpg?w=300&#038;h=296" alt="MDA-OMG" width="300" height="296" /></a></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">MDA is a framework advanced by the Object Management Group (OMG) allows developers to build systems according to their core business logic and data—independently of any particular hardware, operating system, or middleware.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span><span style="font-size:small;font-family:Times New Roman;">This framework is based on UML and other industry standards for visualizing, storing, and exchanging software designs and models.</span><span style="font-size:small;"><span style="font-family:Times New Roman;">This Framework emphasizes on <strong>importance of models in the software development process. </strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">In MDA the software development is done by evolving models of the system to be developed.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;">              </span></strong><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"> MDA software development life cycle</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;">             <a href="http://javaforweb.files.wordpress.com/2008/06/untitled1.jpg"><img class="alignnone size-medium wp-image-108" src="http://javaforweb.files.wordpress.com/2008/06/untitled1.jpg?w=217&#038;h=300" alt="MDA Devlopment Cycle " width="217" height="300" /></a></span></span></strong><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><span style="font-size:small;">MDA identifies same process that is present in traditional software development for developing a System.</span></span></span></strong></p>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><span style="font-size:small;"> T</span><span style="font-size:small;">he following three models are at the core of the MDA.</span></span></span></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<div><strong></strong></div>
<p> </p>
<div><strong></strong></div>
<p><strong></strong></p>
<p> </p>
<div><strong></strong></div>
<p> </p>
<div><strong></strong></div>
<p><strong></strong></p>
<p> </p>
<div><strong></strong></div>
<div><strong><span style="font-size:14pt;"></span></strong></div>
<p><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"> </span><span style="font-size:x-small;">1) Platform Independent Model</span></p>
<p style="margin:auto 0;"><span style="font-size:x-small;"><span style="font-weight:normal;">2) </span>Platform Specific Model</span></p>
<p style="margin:auto 0;"><span style="font-size:x-small;"><span style="font-weight:normal;">3) </span>Code</span></p>
<p class="doctext" style="margin:auto 0;"><span style="text-decoration:underline;"><span style="font-size:small;">Platform Independent Model</span></span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:small;">The first model that MDA defines is a model with a high level of abstraction that is independent of any implementation technology. This is called a </span><a name="idd1e2192"></a><span style="font-size:small;">Platform Independent Model (</span><a name="idd1e2198"></a><span style="font-size:small;">PIM).</span></p>
<p class="doctext" style="margin:auto 0;"><span style="text-decoration:underline;"><span style="font-size:small;">Platform Specific Model</span></span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:small;">PIM is </span><span style="font-size:small;">transformed into one or more </span><span style="font-size:small;">Platform Specific Models (</span><span style="font-size:small;">PSMs). A PSM is tailored to specify your system in terms of the implementation constructs that are available in one specific implementation technology. For example, an EJB PSM is a model of the system in terms of EJB structures. It typically contains EJB-specific terms like &#8220;home interface,&#8221; &#8220;entity bean,&#8221; &#8220;session bean,&#8221; and so on. A relational database PSM includes terms like &#8220;table,&#8221; &#8220;column,&#8221; &#8220;foreign key,&#8221; and so on.</span></p>
<p style="margin:auto 0;"><span style="text-decoration:underline;"><span style="font-size:x-small;">Code</span></span></p>
<p style="margin:auto 0;"><span style="font-size:small;">This is the final step in the development is the </span><a name="idd1e2281"></a><span style="font-size:small;">transformation of each PSM to </span><a name="idd1e2288"></a><span style="font-size:small;">code. Because a PSM fits its technology rather closely, this transformation is relatively straightforward.</span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:small;">At every step the level of Abstraction increases. PIM, PSM, and code are shown as artifacts of different steps in the development life cycle.</span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:small;"> </span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:small;"><span>                       </span><span style="text-decoration:underline;">The three major steps in the MDA development process</span></span></p>
<p>             <a href="http://javaforweb.files.wordpress.com/2008/06/untitled4.jpg"><img class="alignnone size-medium wp-image-111" src="http://javaforweb.files.wordpress.com/2008/06/untitled4.jpg?w=300&#038;h=59" alt="MDA Devloment Cycle" width="300" height="59" /></a><strong></strong></p>
<p><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"> </span></span></strong><span style="color:#ffffff;"><strong><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Rational product support for MDAs</span></span></span></strong></span></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><span style="font-size:10pt;color:#ffffff;font-family:Verdana;">IBM Rational software has several products that support MDA and Model Driven Development (MDD) in varying capacities. These tools fall into the following basic categories:</span></span></span></strong></div>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"> </span></span></strong></div>
<p> </p>
<p></span></div>
<p> </p>
<p></span></span></strong> </div>
<p></span></span></strong> </div>
<p></span></span></strong> </div>
<p></span></span></strong> </div>
<p></span></span></strong></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><span style="font-family:Times New Roman;"></p>
<div><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"> </span></span></strong></div>
<p></span></span></span></strong></div>
<p></span></span></strong></div>
<p></span></span></strong></div>
<p></span></span></strong></div>
<p></span></span></strong></div>
<p><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;"><span style="font-family:Times New Roman;"><strong><span style="font-size:8.5pt;color:#ffffff;font-family:Verdana;">General-purpose</span></strong></p>
<p></span></span></strong></span></span> </p>
<p></span></strong></span></p>
<p class="doctext" style="margin:auto 0;"><strong><span style="font-size:8.5pt;color:#ffffff;font-family:Verdana;">Domain-specific</span></strong></p>
<p class="doctext" style="margin:auto 0;"><strong><span style="font-size:8.5pt;color:#ffffff;font-family:Verdana;">Supporting</span></strong></p>
<p class="doctext" style="margin:auto 0;"><span><span style="color:#ffffff;"><strong><span style="text-decoration:underline;"><span style="font-size:10pt;font-family:Verdana;">Rational Software Architect</span></span></strong><span style="font-size:10pt;font-family:Verdana;"> supports both the principles of MDA as well as the standards upon which MDA is based<strong>. It adds full support for MDD, including UML Version 2.0 modeling, code generation, patterns and model transformations, and a new approach to implementing the MDA style of development.</strong></span></span></span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:10pt;color:#ffffff;font-family:Verdana;">In <strong>general purpose category</strong> for Java™-based MDA applications IBM provide </span></p>
<p class="doctext" style="margin:auto 0;"><span><span style="color:#ffffff;"><strong><span style="text-decoration:underline;"><span style="font-size:10pt;font-family:Verdana;">MDA toolkit for Rational XDE Java</span></span></strong><strong><span style="font-size:10pt;font-family:Verdana;"> </span></strong><span style="font-size:10pt;font-family:Verdana;">which is an Eclipse plug-in that complements existing patterns and code template features and adds some additional capabilities.</span></span></span></p>
<p class="doctext" style="margin:auto 0;"><span style="font-size:10pt;color:#ffffff;font-family:Verdana;">In the <strong>domain-specific category <span style="text-decoration:underline;">IBM Rational System Developer</span> </strong>provides a complete UML-based design and development environment optimized for engineering and other types of technical applications developed in C or C++.</span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="color:#ffffff;"><span style="font-size:10pt;font-family:Verdana;">In the supporting category, </span><strong><span style="font-size:10pt;font-family:Verdana;"><a href="http://www-306.ibm.com/software/integration/wbimodeler/"><span>IBM WebSphere Business Modeler</span></a></span></strong><span style="font-size:10pt;font-family:Verdana;"> is used to model and simulate business processes. As new business processes are developed, models can be exported from the tool and imported into Rational Software Architect or Rational Rose XDE Developer to drive an MDA development process.</span></span></span></p>
<p class="doctext" style="margin:auto 0;"><strong><span style="font-size:10pt;color:#ffffff;font-family:Verdana;">MDA Faq’s Visit</span></strong></p>
<p class="doctext" style="margin:auto 0;"><strong><span style="font-size:10pt;color:#ffffff;font-family:Verdana;"><a href="http://www.omg.org/mda/faq_mda.htm">http://www.omg.org/mda/faq_mda.htm</a></span></strong></p>
<p class="doctext" style="margin:auto 0;"><strong><span style="font-size:10pt;color:#ffcc99;font-family:Verdana;">Java Tutorials by Ashutosh Sharma pls visit:</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:10pt;color:#000000;font-family:Verdana;"><a href="http://sharma.ashutosh84.googlepages.com/"><span style="color:#ffffff;">http://sharma.ashutosh84.googlepages.com</span></a> </span></strong></p>
<p> </p>
<p> </p>
<p></span></strong></span> </p>
<p></span></strong></span> </p>
<p></span></strong></span> </p>
<p></span></strong></div>
<p></span> </p>
<p></span></strong></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/105/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/105/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=105&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/06/08/mda/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/mda4.jpg?w=300" medium="image">
			<media:title type="html">MDA-OMG</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/untitled1.jpg?w=217" medium="image">
			<media:title type="html">MDA Devlopment Cycle </media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/untitled4.jpg?w=300" medium="image">
			<media:title type="html">MDA Devloment Cycle</media:title>
		</media:content>
	</item>
		<item>
		<title>Tomcat &#8211; Is this an Application Server ?</title>
		<link>http://javaforweb.wordpress.com/2008/06/05/apache-tomcat/</link>
		<comments>http://javaforweb.wordpress.com/2008/06/05/apache-tomcat/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 13:03:15 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Apache Tomcat]]></category>
		<category><![CDATA[Application Server]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=95</guid>
		<description><![CDATA[
In this post i&#8217;ll discuss about Apache Tomcat Web Server and look in to its extent for support in J2EE Environment.
Apache Tomcat is one of the most popular options for lightweight development scenarios,and in many cases meets the need for an application server, even though it is technically a Web server.Java EE extends Java Platform, Standard Edition (Java SE) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=95&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://javaforweb.files.wordpress.com/2008/06/j2eejms.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/06/eis-in-j2ee.jpg"></a></p>
<p>In this post i&#8217;ll discuss about Apache Tomcat Web Server and look in to its extent for support in J2EE Environment.</p>
<p>Apache Tomcat is one of the most popular options for lightweight development scenarios,and in many cases meets the need for an application server, even though it is technically a Web server.Java EE extends Java Platform, Standard Edition (Java SE) to support Web services, an enterprise component model, management APIs, and communication protocols for designing and implementing service-oriented architectures, distributed applications, and Web applications.</p>
<p>A compliant Java EE application server must support features such as an Enterprise JavaBeans (EJB) server and container; JNDI capabilities; a Java Message Service (JMS) framework; a Java Transaction API (JTA) framework; and J2EE Connector Architecture. Java EE servers usually support a hierarchical classloader architecture enabling such functionality as EJB loading/reloading, WAR loading/reloading, manifest-specified utilities, and so on.</p>
<p>Java EE defines containers for client applications, servlets, and EJB components. These containers provide structure and functionality that facilitate the deployment, persistence, and execution of supported components. The J2EE Connector Architecture enables a provider of an enterprise system to expose the system using a standard interface known as a resource adapter.</p>
<p>Using a Java EE server(Application Server) gives you the convenience of hosting a system in a pre-tested environment that offers all of the Java enterprise development services. In some cases, however, the Java EE server brings unnecessary overhead to an execution environment that only requires one or two of these services.</p>
<p>For instance, many Java-based Web applications are deployed to environments that only support the technologies found in a Web server/container, such as servlets, JSPs, and JDBC. In these scenarios you might choose to construct a system piecemeal, using sundry frameworks and providers.</p>
<p><strong>Some developers would choose to use Tomcat in place of the Java EE application server given these environmental constraints. </strong></p>
<h2>Web applications vs. enterprise applications</h2>
<p>For some, the confusion over Tomcat&#8217;s definition points to the deeper question of what differentiates an enterprise application from a Web application. Traditionally, a Java enterprise application is defined as a combination of the following components and technologies:</p>
<ul>
<li>EAR files</li>
<li>Java Servlets</li>
<li>JavaServer Pages or JavaServer Faces</li>
<li>Enterprise JavaBeans (EJB)</li>
<li>Java Authentication and Authorization Service (JAAS)</li>
<li>J2EE Connector Architecture</li>
<li>JavaBeans Activation Framework (JAF)</li>
<li>JavaMail</li>
<li>Java Message Service (JMS)</li>
<li>Java Persistence API (JPA)</li>
<li>Java Transaction API (JTA)</li>
<li>The Java Management Extensions (JMX) API</li>
<li>Java API for XML Processing (JAXP)</li>
<li>The Java API for XML-based RPC (JAX-RPC)</li>
<li>The Java Architecture for XML Binding (JAXB)</li>
<li>The SOAP with Attachments API for Java (SAAJ)</li>
<li>Java Database Connectivity (JDBC) framework</li>
</ul>
<p>A Java Web application, meanwhile, is said to combine a <em>subset</em> of Java enterprise application components and technologies, namely:</p>
<ul>
<li>WAR files</li>
<li>Java Servlets</li>
<li>JavaServer Faces or JavaServer Pages</li>
<li>Java Database Connectivity (JDBC) framework</li>
</ul>
<p><strong>In a typical Java EE Web application, an HTML client posts a request to a server where the request is handled by the Web container of the application server. The Web container invokes the servlet that is configured to handle the specific context of the request. </strong></p>
<p>Once the servlet has received the initial request, some form of request dispatching ensues in order to perform the necessary business logic for completing the request. One or more business services or components are then invoked to perform business logic.</p>
<p>Most business services or components require access to some form of data storage or information system. Oftentimes an abstraction layer between the business service and the data store is provided in order to protect against future changes in the data store. DAOs (data access objects) are often employed as data abstraction components in this situation.</p>
<p>When the DAO invocation step is complete, the response data is passed back up the chain of command, usually as one or more Java beans. The Java beans are then passed to some type of state machine and/or view manager in order to organize and format the markup response. When processing is complete for a given request, a formatted response is passed back to the HTML client.</p>
<p>Now, suppose we add a requirement to the application for asynchronous messaging between business service components. In a Java-based system, this would typically be handled using the Java Message Service (JMS) as shown in figure :</p>
<p><a href="http://javaforweb.files.wordpress.com/2008/06/j2eejms.jpg"><img class="alignnone size-medium wp-image-96" src="http://javaforweb.files.wordpress.com/2008/06/j2eejms.jpg?w=300&#038;h=189" alt="JMS in J2EE Architecture" width="300" height="189" /></a></p>
<p><strong>Most Web servers do not offer JMS as a standard feature, but it is simple enough to add a JMS implementation to a Web server environment.</strong></p>
<p>The application scenario depicted in Figure above could be handled quite easily with just a Web server providing a servlet engine and JSP engine.</p>
<p>Now we add the requirement for connectivity between business services and disparate enterprise information systems. <strong>Java EE offers the Java Connector Architecture as a common standard to meet this challenge.</strong></p>
<p><a href="http://javaforweb.files.wordpress.com/2008/06/eis-in-j2ee.jpg"><img class="alignnone size-medium wp-image-97" src="http://javaforweb.files.wordpress.com/2008/06/eis-in-j2ee.jpg?w=300&#038;h=197" alt="EIS in J2EE Architecture" width="300" height="197" /></a></p>
<p>The architecture is now approaching a complexity that is arguably better suited for a Java EE application server.</p>
<p><strong><span style="text-decoration:underline;">A Web server such as Tomcat could possibly be used in combination with other frameworks to meet the requirements, but system management and monitoring complications might make the server/framework mix impractical. </span></strong></p>
<p>Figure presents a moderately complex, Java-based, service-oriented architecture employing all of the technologies along with communication between multiple WAR deployments, EJBs, and Web services.</p>
<p><a href="http://javaforweb.files.wordpress.com/2008/06/webservicesmultiplewarsejbs.jpg"><img class="alignnone size-medium wp-image-98" src="http://javaforweb.files.wordpress.com/2008/06/webservicesmultiplewarsejbs.jpg?w=280&#038;h=300" alt="Webservices, EJBs, Multiple WAR in J2EE Architecture" width="280" height="300" /></a></p>
<p>The architecture in Figure above has entered the realm of complexity that requires a tested, scalable, manageable Java EE enterprise application server. Once again, a development team with the proper skill level <em>could</em> use Tomcat for the Web tier and piece together technologies and frameworks to support the business and data tiers.</p>
<p>What i personally feel is to support this type of architecture using web server is Impractical. But Most of the tasks that are involved in J2EE environment can be supported by Apache Tomcat Web Server !!</p>
<p>Java Tutorials by Ashutosh Sharma, please visit :</p>
<p><a href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/95/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/95/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=95&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/06/05/apache-tomcat/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/j2eejms.jpg?w=300" medium="image">
			<media:title type="html">JMS in J2EE Architecture</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/eis-in-j2ee.jpg?w=300" medium="image">
			<media:title type="html">EIS in J2EE Architecture</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/06/webservicesmultiplewarsejbs.jpg?w=280" medium="image">
			<media:title type="html">Webservices, EJBs, Multiple WAR in J2EE Architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>Funny Animated JavaScript</title>
		<link>http://javaforweb.wordpress.com/2008/06/03/funny-animated-javascript/</link>
		<comments>http://javaforweb.wordpress.com/2008/06/03/funny-animated-javascript/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 13:30:59 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Funny Javascript]]></category>
		<category><![CDATA[javascript animation]]></category>
		<category><![CDATA[rolling pictures]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=94</guid>
		<description><![CDATA[Copy the following text:  
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI= document.images; DIL=DI.length; function A(){for(i=0; i&#60;DIL; i++){DIS=DI[ i ].style; DIS.position=&#8217;absolute&#8216;; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval(&#8216;A()&#8217;,5); void(0) 
 
Then paste this in any address bar of any browser, (prefer sites like picasa or flickr with many pictures in them)
Then press enter and enjoy the show!
Java [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=94&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="line-height:14.4pt;"><span style="font-size:small;"><span style="color:#ffffcc;font-family:Gisha;">Copy the following text</span><span style="color:#ffffcc;font-family:Gisha;">:</span><span style="color:#ffffcc;font-family:Gisha;"> </span><span style="color:#ffffcc;font-family:Gisha;"><span> </span></span></span></p>
<p style="line-height:14.4pt;"><span style="font-size:small;"><span style="color:#ffffcc;font-family:Gisha;">javascript</span><span style="color:#ffffcc;font-family:Gisha;">:</span><span style="color:#ffffcc;font-family:Gisha;">R</span><span style="color:#ffffcc;font-family:Gisha;">=0; </span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">1=.1; </span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">1=.05; </span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">2=.25; </span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">2=.24; </span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">3=1.6; </span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">3=.24; </span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">4=300; </span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">4=200; </span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">5=300; </span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">5=200; </span><span style="color:#ffffcc;font-family:Gisha;">DI</span><span style="color:#ffffcc;font-family:Gisha;">= </span><span style="color:#ffffcc;font-family:Gisha;">document</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">images</span><span style="color:#ffffcc;font-family:Gisha;">; </span><span style="color:#ffffcc;font-family:Gisha;">DIL</span><span style="color:#ffffcc;font-family:Gisha;">=</span><span style="color:#ffffcc;font-family:Gisha;">DI</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">length</span><span style="color:#ffffcc;font-family:Gisha;">; </span><span style="color:#ffffcc;font-family:Gisha;">function</span><span style="color:#ffffcc;font-family:Gisha;"> </span><span style="color:#ffffcc;font-family:Gisha;">A</span><span style="color:#ffffcc;font-family:Gisha;">(){</span><span style="color:#ffffcc;font-family:Gisha;">for</span><span style="color:#ffffcc;font-family:Gisha;">(</span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;">=0; </span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;">&lt;</span><span style="color:#ffffcc;font-family:Gisha;">DIL</span><span style="color:#ffffcc;font-family:Gisha;">; </span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;">++){</span><span style="color:#ffffcc;font-family:Gisha;">DIS</span><span style="color:#ffffcc;font-family:Gisha;">=</span><span style="color:#ffffcc;font-family:Gisha;">DI</span><span style="color:#ffffcc;font-family:Gisha;">[ </span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;"> ].</span><span style="color:#ffffcc;font-family:Gisha;">style</span><span style="color:#ffffcc;font-family:Gisha;">; </span><span style="color:#ffffcc;font-family:Gisha;">DIS</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">position</span><span style="color:#ffffcc;font-family:Gisha;">=&#8217;</span><span style="color:#ffffcc;font-family:Gisha;">absolute</span><span style="color:#ffffcc;font-family:Gisha;">&#8216;; </span><span style="color:#ffffcc;font-family:Gisha;">DIS</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">left</span><span style="color:#ffffcc;font-family:Gisha;">=</span><span style="color:#ffffcc;font-family:Gisha;">Math</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">sin</span><span style="color:#ffffcc;font-family:Gisha;">(</span><span style="color:#ffffcc;font-family:Gisha;">R</span><span style="color:#ffffcc;font-family:Gisha;">*</span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">1+</span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;">*</span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">2+</span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">3)*</span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">4+</span><span style="color:#ffffcc;font-family:Gisha;">x</span><span style="color:#ffffcc;font-family:Gisha;">5; </span><span style="color:#ffffcc;font-family:Gisha;">DIS</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">top</span><span style="color:#ffffcc;font-family:Gisha;">=</span><span style="color:#ffffcc;font-family:Gisha;">Math</span><span style="color:#ffffcc;font-family:Gisha;">.</span><span style="color:#ffffcc;font-family:Gisha;">cos</span><span style="color:#ffffcc;font-family:Gisha;">(</span><span style="color:#ffffcc;font-family:Gisha;">R</span><span style="color:#ffffcc;font-family:Gisha;">*</span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">1+</span><span style="color:#ffffcc;font-family:Gisha;">i</span><span style="color:#ffffcc;font-family:Gisha;">*</span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">2+</span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">3)*</span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">4+</span><span style="color:#ffffcc;font-family:Gisha;">y</span><span style="color:#ffffcc;font-family:Gisha;">5}</span><span style="color:#ffffcc;font-family:Gisha;">R</span><span style="color:#ffffcc;font-family:Gisha;">++}</span><span style="color:#ffffcc;font-family:Gisha;">setInterval</span><span style="color:#ffffcc;font-family:Gisha;">(&#8216;</span><span style="color:#ffffcc;font-family:Gisha;">A</span><span style="color:#ffffcc;font-family:Gisha;">()&#8217;,5); </span><span style="color:#ffffcc;font-family:Gisha;">void</span><span style="color:#ffffcc;font-family:Gisha;">(0) </span></span><span style="color:#ffffcc;font-family:Gisha;"><br />
</span><span style="color:#ffffcc;font-family:Gisha;"><span style="font-size:small;"> </span></span></p>
<p style="line-height:14.4pt;"><span style="color:#ffffcc;font-family:Gisha;"><span style="font-size:small;">Then paste this in any address bar of any browser, (prefer sites like picasa or flickr with many pictures in them)</span></span></p>
<p style="line-height:14.4pt;"><span style="color:#ffffcc;font-family:Gisha;"><span style="font-size:small;">Then press enter and enjoy the show!</span></span></p>
<p style="line-height:14.4pt;"><span style="font-size:small;color:#ffffcc;font-family:Gisha;">Java Tutorials by Ashutosh Sharma :&#8211;</span></p>
<p style="line-height:14.4pt;"><span style="font-size:small;color:#ffffcc;font-family:Gisha;">Visit   <a href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/94/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/94/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=94&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/06/03/funny-animated-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
		<item>
		<title>What is an Application Server ?</title>
		<link>http://javaforweb.wordpress.com/2008/05/23/what-is-an-application-server/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/23/what-is-an-application-server/#comments</comments>
		<pubDate>Fri, 23 May 2008 08:00:24 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Application Servers]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=91</guid>
		<description><![CDATA[Application Servers provide the underlying core functionality necessary for the development and deployment of business-driven application.
Application Servers can potentially service tens of thousands of concurrent users in real-time. Application Servers are mainly used in Distributed Environment such as Stock Trading System or Banking application.
 
In Application Server a new layer of functions and services between Web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=91&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><a href="http://javaforweb.files.wordpress.com/2008/05/application-server1.jpg"></a>Application Servers</strong> provide the underlying core functionality necessary for the development and deployment of <strong>business-driven application</strong>.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Application Servers can potentially service tens of thousands of concurrent users in real-time. Application Servers are mainly used in Distributed Environment such as Stock Trading System or Banking application.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">In Application Server a new layer of functions and services between Web servers and underlying applications and databases is added.</span></p>
<p class="MsoNormal" style="margin:0;"><a href="http://javaforweb.files.wordpress.com/2008/05/application-server1.jpg"><img class="alignnone size-medium wp-image-93" src="http://javaforweb.files.wordpress.com/2008/05/application-server1.jpg?w=300&#038;h=223" alt="Application Server layer" width="300" height="223" /></a></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">An<strong> Application Server </strong>speeds application development and relieves developers of the effort and expense of creating these crucial services on their own </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>   </span><span> </span><span>  </span>Load balancing</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Fault tolerance</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Web Services</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Legacy integration</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Transaction management</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Security</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Messaging</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Multi-threading</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Persistence</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Database connectivity</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Resource pooling</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;">Development, testing, and packaging facilities</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">J2EE based Application Servers</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">BEA WebLogic Java Application Server </span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">IBM WebSphere Java Application Server ( WSAD )</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Oracle 9i Java Application Server </span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Sun ONE Java Application Server (iPlanet)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB">HP Application Server (HP-AS)</span><span>  </span>(Bluestone)</span></span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB">JBoss Application Server</span><span lang="EN-GB"> </span></span></span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">GlassFish Application Server for JavaEE 5</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB">Enhydra Application Server</span><span lang="EN-GB"> </span></span></span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">J2EE Components</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Servlets &amp; Java Server Pages (JSP)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;"><span style="font-family:Times New Roman;">Enterprise Java Beans (EJB)</span></span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Transaction API (JTA)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Transaction Service (JTS)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java API for XML Parsing (JAXP)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Messaging Service (JMS)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Message Driven Beans (MDB)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Remote Method Invocation (RMI)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Database Connection 2 (JDBC2)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Connector Architecture (JCA)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">Java Naming and Directory Interface (JNDI)</span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">l</span><span style="font:7pt;">      </span></span></span><span style="font-size:small;font-family:Times New Roman;">JavaBeans Activation Framework (JAF)</span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;">For Java EE 5 components visit : <span> </span></span></span><a href="http://java.sun.com/javaee/technologies/" target="_blank"><span style="font-size:small;font-family:Times New Roman;">http://java.sun.com/javaee/technologies/</span></a></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 0.25in;"><span style="font-size:9pt;color:#444444;font-family:Verdana;"><span style="color:#000000;">An application server exposes business logic to client applications through various protocols, possibly including HTTP. </span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;">     For Java tutorials visit</p>
<p class="MsoNormal" style="margin:0;">     <a href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/91/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/91/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=91&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/23/what-is-an-application-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/05/application-server1.jpg?w=300" medium="image">
			<media:title type="html">Application Server layer</media:title>
		</media:content>
	</item>
		<item>
		<title>IBM Rational® ROSE Productline and Description</title>
		<link>http://javaforweb.wordpress.com/2008/05/22/ibm-rational%c2%ae-rose-productline-and-description/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/22/ibm-rational%c2%ae-rose-productline-and-description/#comments</comments>
		<pubDate>Thu, 22 May 2008 14:29:28 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[IBM]]></category>
		<category><![CDATA[Model Driven Develoment]]></category>
		<category><![CDATA[Rational Rose]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=90</guid>
		<description><![CDATA[In this Post i am trying to explore IBM Rational Family of Product with thier potential descriptions. IBM has got a very RICH Family of rational Products that can be used in all the Software Processes. Lets have a look on these tools starting from Rational Rose (A Masterpiece)
IBM Rational® Rose family of products is what [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=90&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In this Post i am trying to explore IBM Rational Family of Product with thier potential descriptions. IBM has got a very RICH Family of rational Products that can be used in all the Software Processes. Lets have a look on these tools starting from <strong><span style="text-decoration:underline;">Rational Rose (A Masterpiece)</span></strong></p>
<p><strong>IBM Rational®</strong> <strong>Rose </strong>family of products is what put Rational on the map and helped make Unified Modeling Language (UML) a standard. Design software using <strong>UML v1.4</strong> with the market leading Rational Rose family of visual modeling design tools.</p>
<p><strong>NOTE :- For UML 2.0 Based Visual Modeling and Design</strong>   <strong>IBM® Rational® Software Modeler </strong>is there !!</p>
<p>Product Edition</p>
<p>&#8211;&gt; ROSE DATA MODELER</p>
<p>&#8211;&gt; ROSE DEVELOER FOR JAVA</p>
<p>&#8211;&gt; ROSE DEVELOPER FOR UNIX</p>
<p>&#8211;&gt; ROSE DEVELOPER FOR VISUAL STUDIO</p>
<p>&#8211;&gt; ROSE ENTERPRISE</p>
<p>&#8211;&gt; ROSE MODELER</p>
<p>&#8211;&gt; ROSE TECHNICAL DEVEOPER</p>
<p class="pnpb"><strong>IBM® Rational Rose® Data Modeler</strong> offers a sophisticated visual modeling environment for  <strong>database application development. </strong>Accelerate your processes by connecting the database designers to the rest of the development team through a common tool and the Unified Modeling Language™ (UML™) v1.4.</p>
<p class="pnpb"><strong>IBM Rational® Rose® Developer for Java™</strong>  is a full visual modeling tool based on <strong>UML™1.4</strong></p>
<p>Jump-start your Java and J2EE™ 1.4 applications with code generated from visual models. IBM Rational Rose Developer for Java is our classic Universal Modeling Language™ (UML).</p>
<p><strong>IBM® Rational Rose® Developer for UNIX®</strong> is a full visual-modeling environment for <strong>UNIX and Linux platforms. </strong></p>
<p>It is based on the Unified Modeling Language and includes code-generation support for models that will be implemented in Java, C++ and CORBA.</p>
<p class="pnpb"><strong>IBM Rational® Rose® Developer for Visual Studio® .Net</strong> is a full visual-modeling environment based on <strong>UML™</strong></p>
<p>Jump-start the development process and support round-trip engineering generating Visual C++® or Visual Basic® code from your models.</p>
<p><strong>IBM® Rational® Rose® Enterprise ( All in One Masterpiece )</strong> provides a common modeling language for enabling faster creation of quality software.</p>
<p>Jump-start your Ada, ANSI C++, C++, CORBA, Java™, J2EE™, Visual C++® and Visual Basic® applications with code generated from visual models. Includes Unified Modeling Language™ (UML™) support and is one of the most comprehensive products in the Rational Rose family. Supports Analysis, ANSI C++, Rose J and Visual C++ patterns, Enterprise JavaBeans™ 2.0, and forward and/or reverse engineering for some of the most common Java 1.5 constructs.Integrates with other IBM Rational lifecycle development tools as well as any SCC-compliant version control system, including <strong>IBM Rational ClearCase®.</strong>Includes a Web Modeling Add-In, which provides visualization, modeling and tools for developing Web applications. It provides UML modeling for database designs, with the ability to represent the integration of data and application requirements through logical and physical designs. Creates XML document type definitions (DTD) for use in your application.</p>
<p class="pnpb"><strong>IBM® Rational® Rose® Modeler</strong> is your choice if your needs are for <strong>UML modeling software. </strong></p>
<p>Maximize your design skills and software architectures with full support of Unified Modeling Language™ (UML™) v1.4 for creation of software applications.Provides a common modeling language and environment for faster creation of quality software. Offers analysis patterns support based on &#8220;Design Patterns: Elements of Reusable Object-Oriented Software&#8221;. It Integrates with other IBM Rational lifecycle development tools. Can integrate with any SCC-compliant version control system, including IBM Rational ClearCase®.</p>
<p>RATIONAL ROSE for <span style="text-decoration:underline;">Model Driven Development</span> ( MDD ) , <strong>IBM® Rational® Rose® Technical Developer</strong> is a robust <strong>Model-Driven Development (MDD) solution for system architecture design. </strong>Overcome the challenges of complex systems development through a common tool based on the Unified Modeling Language™ (UML™) v1.4. IBM Rational Rose.</p>
<p>There is much more that IBM has got for Rapid and Robust Software Develoment. I&#8217;ll try to cover that in my next coming posts. Keep Visiting this Blog!!</p>
<p>For Java Tutorials visit :</p>
<p><a href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/90/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/90/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=90&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/22/ibm-rational%c2%ae-rose-productline-and-description/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
		<item>
		<title>Google MAPS and Google Mapplets</title>
		<link>http://javaforweb.wordpress.com/2008/05/21/google-mapplets-mashup/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/21/google-mapplets-mashup/#comments</comments>
		<pubDate>Wed, 21 May 2008 12:06:45 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Google mapplets]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Google Mashu Ups]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=78</guid>
		<description><![CDATA[
With the release of Google Mapplets, developers can nowcreate map-based applications (or port their current Google Maps applications)and expose them to every user of Google Maps at http://maps.google.com.
Google handles the hosting and bandwidth of your application and provides a
directory of Mapplets so that users can find your application.
 
What’s a Mapplet?
 
Mapplets are small web applications that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=78&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://javaforweb.files.wordpress.com/2008/05/scratchpad.jpg"></a></p>
<p><span style="font-size:small;font-family:Times New Roman;"><a href="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg"></a>With the release of Google Mapplets, developers can now</span><span style="font-size:small;font-family:Times New Roman;">create map-based applications (or port their current Google Maps applications)</span><span style="font-size:small;font-family:Times New Roman;">and expose them to every user of Google Maps at http://maps.google.com.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Google handles the hosting and bandwidth of your application and provides a</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">directory of Mapplets so that users can find your application.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">What’s a Mapplet?</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Mapplets are small web applications that run within Google Maps. They are a</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">type of Google Gadget—the framework that allows developers to create small</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">web applications that can run within iGoogle, Google Maps, Orkut, or any web</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">page outside Google.Mapplets use the basic concepts and APIs of Google</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Gadgets, though they are specifically used within the Google Maps realm.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">In its basic form, a Mapplet is an XML file that contains the HTML and</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">JavaScript that make up your application. Mapplets have two components:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Wingdings;"><span>à</span></span><span style="font-family:Times New Roman;"> <span> </span>A web application that is displayed on the Google Maps site at</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">http://maps.google.com. This application is typically displayed in the lowerleft</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">corner of the page on http://maps.google.com.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Wingdings;"><span>à</span></span><span style="font-family:Times New Roman;"> <span> </span>JavaScript that lets you control the map on http://maps.google.com, retrieve</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">external data, or even store and retrieve user preferences.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">After you create your Mapplet, it’s up to you to host the Mapplet XML file</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">containing your HTML and JavaScript. When a user installs your Mapplet,</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Google will grab the Mapplet XML file from your server and display it within an</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">&lt;iframe&gt; element on http://maps.google.com. (An &lt;iframe&gt; is an HTML element</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">that is used to embed HTML from another web site in a web page.) In this case,</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Google uses an &lt;iframe&gt; element to embed your Mapplet in</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">http://maps.google.com.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Google will cache your Mapplet source and serve it from its own servers at</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">http://gmodules.com.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">This is done for a few reasons:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Wingdings;"><span>à</span></span><span style="font-family:Times New Roman;"><span>  </span>To restrict your Mapplet’s JavaScript from doing anything harmful such as</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">accessing a user’s cookies on http://maps.google.com</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Wingdings;"><span>à</span></span><span style="font-family:Times New Roman;"><span>  </span>To reduce the load on your site from the potential high number of users you’ll</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">have</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Let’s take a look at a live Mapplet</span></p>
<p class="MsoNormal" style="margin:0;"><a href="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/mymap11.jpg"><img class="alignnone size-medium wp-image-88" src="http://javaforweb.files.wordpress.com/2008/05/mymap11.jpg?w=300&#038;h=170" alt="Google Map Screen" width="300" height="170" /></a></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Open your browser to</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">http://maps.google.com/. Click the My Maps tab, and you will see a list of</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Featured Content along with any maps you have created. Select the one about gasprices,</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">and you’ll see a Mapplet in action.</span></p>
<p><a href="http://javaforweb.files.wordpress.com/2008/05/mymap1.jpg"></a></p>
<h2 class="MsoNormal" style="margin:0;">Getting Started with Mapplets</h2>
<h2 class="MsoNormal" style="margin:0;"> </h2>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;font-family:Verdana-Bold;"><span style="font-family:Times New Roman;">Installing the Developer Tools</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">Using either Firefox, Safari, or Internet Explorer (version 6 or newer), go to</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;">http://maps.google.com/maps/mm</span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">, and sign in using your Google account. First</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">install the three developer modules that Google has created for Mapplet</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">development: the Mapplet Scratch Pad, the Developer Mapplet, and the API</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">Reference Mapplet. You can find these Mapplets in the Developer Tools section</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">of the Google Maps Directory</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">(</span><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><a href="http://maps.google.com/ig/directory?synd=mpl&amp;pid=mpl&amp;cat=devtools">http://maps.google.com/ig/directory?synd=mpl&amp;pid=mpl&amp;cat=devtools</a></span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">).</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:Wingdings;"><span>à</span></span><span style="font-size:13pt;font-family:Arial;"> </span><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:Wingdings-Regular;"><span> </span></span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">The Mapplet Scratch Pad lets you develop Mapplets right in</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;">http://maps.google.com</span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">. You’ll be able to cut and paste the following</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">code sample in the scratch pad and immediately see the application.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:Wingdings;"><span>à</span></span><span style="font-size:13pt;font-family:Arial;"> </span><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:Wingdings-Regular;"><span> </span></span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">The Developer Mapplet places a Reload link at the top of each Mapplet that</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">you have installed. The Reload link automatically reloads the source code for</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">the Mapplet you are viewing (or developing). Since Google caches Mapplet</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">source code, you’ll need this for developing and testing Mapplets. Trust me</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">on this one!</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:Wingdings;"><span>à</span></span><span style="font-size:13pt;font-family:Arial;"> </span><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:Wingdings-Regular;"><span> </span></span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">The API Reference Mapplet is a simple application that displays all the</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">possible Mapplets API calls.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">Once you have all three developer Mapplets installed, select the Mapplet Scratch</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">Pad.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">Your </span><span style="font-size:11pt;font-family:TheSansMonoConNormal;">maps.google.com </span><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">page should now look like</span></span></p>
<div class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> <a href="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/scratchpad1.jpg"><img class="alignnone size-medium wp-image-89" src="http://javaforweb.files.wordpress.com/2008/05/scratchpad1.jpg?w=300&#038;h=170" alt="Map Scratch Pad" width="300" height="170" /></a><a href="http://javaforweb.files.wordpress.com/2008/05/scratchpad.jpg"></a></span></span></div>
<p><span style="font-size:10pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<h3> Creating Your First Mapplet</h3>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">For your first Mapplet, you’re not even going to “touch” a map.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">Let’s start by creating a simple “shell” Mapplet without any map API calls.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:Wingdings;"><span>à</span></span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:Wingdings-Regular;"><span> </span></span><span style="font-size:11pt;font-family:TimesNewRomanPSMT;">Make sure you are at </span><span style="font-size:11pt;font-family:TheSansMonoConNormal;">http://maps.google.com/maps/mm </span><span style="font-size:11pt;font-family:TimesNewRomanPSMT;">and that you’ve selected</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">the Mapplet Scratch Pad. You should see the Mapplet Scratch Pad in the</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">lower-left corner of the page.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:Wingdings;"><span>à</span></span><span style="font-size:11pt;font-family:Arial;"> </span><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:Wingdings-Regular;"><span> </span></span><span style="font-size:11pt;font-family:TimesNewRomanPSMT;">Cut the XML from below, and paste it into the Mapplet Scratch Pad.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:Wingdings;"><span>à</span></span><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:Wingdings-Regular;"> </span><span style="font-size:11pt;font-family:TimesNewRomanPSMT;">Click the Preview button in the Mapplet Scratch Pad. Figure shows the</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:11pt;font-family:TimesNewRomanPSMT;">“Hello World” Mapplet that you should see.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:10pt;font-family:Verdana-BoldItalic;"><span style="color:#ffffff;font-family:Times New Roman;">“Hello World” Mapplet</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><em><span style="font-size:11pt;font-family:Verdana-BoldItalic;"><span style="color:#ffffff;font-family:Times New Roman;"> </span></span></em></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;Module&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;ModulePrefs title=&#8221;Hello World&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">description=&#8221;My First Mapplet&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">author=&#8221;Ashutosh Sharma&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">author_email=&#8221;sharma.ashutosh84.googlepages.com&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">height=&#8221;150&#8243;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;/ModulePrefs&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;Content type=&#8221;html&#8221;&gt;&lt;![CDATA[</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;h2&gt;Hello From Ashutosh Sharma!!&lt;/h2&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;h4&gt;Java Tutorials : Visit </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;a href&gt;sharma.ashutosh84.googlepages.com</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;/a&gt;&lt;/h4&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">]]&gt;&lt;/Content&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;/Module&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;color:#000000;font-family:TheSansMonoConNormal;"><span style="font-family:Times New Roman;"> <a href="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg"><img class="alignnone size-medium wp-image-86" src="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg?w=300&#038;h=247" alt="" width="300" height="247" /></a></span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><strong><span style="font-size:14pt;font-family:Verdana-Bold;">Adding a Map</span></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">So, the previous example showed the shell of a Google Mapplet/Gadget. Now</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">let’s do some mapping. In this example, you’ll create a map and add a marker</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">indicating the location of the Empire State Building. You’ll also center the map</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">on this point.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">1. In the Mapplet Scratch Pad, click the “Go back to editor” button to display</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">the scratch pad editor.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;">2. Cut the XML from below, and paste it into the Mapplet Scratch Pad.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:13pt;font-family:TimesNewRomanPSMT;">3. Click the Preview button in the Mapplet Scratch Pad.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><strong><span style="font-size:10pt;font-family:Verdana-BoldItalic;">Create a Map and Add a Marker to the Map</span></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:TimesNewRomanPSMT;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;Module&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;ModulePrefs title=&#8221;INDIA GATE, DELHI&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">description=&#8221;Creating a Simple Map and Marker&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">author=&#8221;Ashutosh Sharma&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">author_email=&#8221;sharma.ashutosh84.googlepages.com&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">height=&#8221;150&#8243;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;Require feature=&#8221;sharedmap&#8221;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;/ModulePrefs&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;Content type=&#8221;html&#8221;&gt;&lt;![CDATA[</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;h2&gt;India Gate&lt;/h2&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;script&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">// Create a map and center it over the INDIA GATE</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">var map = new GMap2();</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">var point = new GLatLng(28.61262650293896, 77.23015954511007);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">map.setCenter(point, 17);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">// Add a marker right on the INDIA GATE</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">var marker = new GMarker(point);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:11pt;color:#ffffff;font-family:TheSansMonoConNormal;">map.addOverlay(marker);</span><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConExtraBold;"><span style="color:#ffffff;font-family:Times New Roman;">&lt;/script&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:11pt;font-family:TheSansMonoConNormal;"><span style="color:#ffffff;font-family:Times New Roman;">]]&gt;&lt;/Content&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:11pt;color:#ffffff;font-family:TheSansMonoConNormal;">&lt;/Module&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;color:#ffffff;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><strong><span style="font-size:10pt;font-family:Verdana-BoldItalic;">INDIA</span></strong><strong><span style="font-size:10pt;font-family:Verdana-BoldItalic;"> GATE, DELHI</span></strong></span></p>
<p class="MsoNormal" style="margin:0;"> <a href="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg"></a><a href="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg"><img class="alignnone size-medium wp-image-87" src="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg?w=300&#038;h=172" alt="India Gate New Delhi" width="300" height="172" /></a></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#ffffff;">Java Tutorials by Ashutosh Sharma :</span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#ffffff;">visit </span> <a title="Web Development Guide" href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/78/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/78/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=78&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/21/google-mapplets-mashup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/05/mymap11.jpg?w=300" medium="image">
			<media:title type="html">Google Map Screen</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/05/scratchpad1.jpg?w=300" medium="image">
			<media:title type="html">Map Scratch Pad</media:title>
		</media:content>

		<media:content url="http://javaforweb.files.wordpress.com/2008/05/hallo-world.jpg?w=300" medium="image" />

		<media:content url="http://javaforweb.files.wordpress.com/2008/05/india_gate.jpg?w=300" medium="image">
			<media:title type="html">India Gate New Delhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Web 2.0 based Website Links</title>
		<link>http://javaforweb.wordpress.com/2008/05/20/web-20-based-website-links/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/20/web-20-based-website-links/#comments</comments>
		<pubDate>Tue, 20 May 2008 06:16:44 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Links]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=75</guid>
		<description><![CDATA[Winamp Media Player Plugin   
http://ajaxamp.com
It turns Winamp into a web-accessible, sharing, streaming, searching, remote-controlled musical marvel, allowing you to access Winamp over the network using a web browser and control it or stream music to or from it
Ajax New Blog
http://ajaxian.com
Ajaxian in Ajax Resources &#8211; One of the first blogs in ajax.Daily updates, insightful commentary and coverage [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=75&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Winamp Media Player Plugin</strong>   </p>
<p><a href="http://ajaxamp.com">http://ajaxamp.com</a></p>
<p>It turns Winamp into a web-accessible, sharing, streaming, searching, remote-controlled musical marvel, allowing you to access Winamp over the network using a web browser and control it or stream music to or from it</p>
<p><strong>Ajax New Blog</strong></p>
<p><a href="http://ajaxian.com">http://ajaxian.com</a></p>
<p><strong>Ajaxian</strong> in Ajax Resources &#8211; One of the first blogs in ajax.Daily updates, insightful commentary and coverage of Ajax development around the world.</p>
<p><strong>Social Movie Catalog</strong></p>
<p><a href="http://movies.ajaxilicious.com">http://movies.ajaxilicious.com</a></p>
<p><strong>Search Engine</strong></p>
<p><a href="http://accoona.com">http://accoona.com</a><strong> </strong></p>
<p><strong>Ajax Based Chat Room</strong></p>
<p><a href="http://ajchat.com">http://ajchat.com</a></p>
<p><strong>Ajchat</strong> is a simple ajax chat system where you can add chatrooms to your website.</p>
<p><strong>Search Engine </strong></p>
<p><a href="http://alexa.com">http://alexa.com</a><strong> </strong></p>
<p><strong>Online Storage</strong></p>
<p><a href="http://allmydata.com">http://allmydata.com</a></p>
<p><strong>Allmydata</strong> provides online backup, storage, and sharing.</p>
<p><strong>Play and Rate games</strong></p>
<p><a href="http://arcaplay.com">http://arcaplay.com</a></p>
<p><strong>Arcaplay</strong> is reinventing free online gaming. Say hello to social arcading.</p>
<p><strong>India based Job Search Engine</strong></p>
<p><a href="http://bixee.com">http://bixee.com</a></p>
<p>Jobs in India, Mumbai, Delhi, Bangalore, Chennai, Hyderabad, Pune from the web.</p>
<p><strong>Audio Search Engine</strong></p>
<p><a href="http://audioclipping.de">http://audioclipping.de</a></p>
<p>Short audio samples are also available to listen to the individual hits. The results can be accessed online at all times.</p>
<p><strong>Java Tutorials by Ashutosh Sharma</strong></p>
<p><a href="http://sharma.ashutosh84.googlepages.com">http://sharma.ashutosh84.googlepages.com</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=75&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/20/web-20-based-website-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
		<item>
		<title>Singletons in Java</title>
		<link>http://javaforweb.wordpress.com/2008/05/19/singletons-in-java/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/19/singletons-in-java/#comments</comments>
		<pubDate>Mon, 19 May 2008 09:49:00 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[Design Patterns In Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Singletons]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=74</guid>
		<description><![CDATA[A singleton is an object that cannot be instantiated. At first, that might seem counterintuitive &#8211; after all, we need an instance of an object before we can use it. Well yes a singleton can be created, but it can&#8217;t be instantiated by developers &#8211; meaning that the singleton class has control over how it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=74&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="color:#ffffff;">A singleton is an object that cannot be instantiated. At first, that might seem counterintuitive &#8211; after all, we need an instance of an object before we can use it. Well yes a singleton can be created, but it can&#8217;t be instantiated by developers &#8211; meaning that the singleton class has control over how it is created. The restriction on the singleton is that there can be only one instance of a singleton created by the Java Virtual Machine (JVM) &#8211; by prevent direct instantiation we can ensure that developers don&#8217;t create a second copy.</span></p>
<p><span style="color:#ffffff;">So why would this be useful? Often in designing a system, we want to control how an object is used, and prevent others (ourselves included) from making copies of it or creating new instances. For example, a central configuration object that stores setup information should have one and one only instance &#8211; a global copy accessible from any part of the application, including any threads that are running. Creating a new configuration object and using it would be fairly useless, as other parts of the application might be looking at the old configuration object, and changes to application settings wouldn&#8217;t always be acted upon. I&#8217;m sure you can think of a other situations where a singleton would be useful &#8211; perhaps you&#8217;ve even used one before without giving it a name. It&#8217;s a common enough design criteria (not used everyday, but you&#8217;ll come across it from time to time). The singleton pattern can be applied in any language, but since we&#8217;re all Java programmers here (if you&#8217;re not, shame!) let&#8217;s look at how to implement the pattern using Java.</span></p>
<h4><span style="color:#ffffff;">Preventing direct instantiation</span></h4>
<p><span style="color:#ffffff;">We all know how objects are instantiated right? Maybe not everyone? Let&#8217;s go through a quick refresher.</span></p>
<p><span style="color:#ffffff;">Objects are instantiated by using the <code>new</code> keyword. The <code>new</code> keyword allows you to create a new instance of an object, and to specify parameters to the class&#8217;s constructor. You can specify no parameters, in which case the blank constructor (also known as the <em>default</em> constructor) is invoked. Constructors can have access modifiers, like public and private, which allow you to control which classes have access to a constructor. So to prevent direct instantiation, we create a private default constructor, so that other classes can&#8217;t create a new instance.</span></p>
<p><span style="color:#ffffff;">We&#8217;ll start with the class definition, for a SingletonObject class. Next, we provide a default constructor that is marked as private. No actual code needs to be written, but you&#8217;re free to add some initialization code if you&#8217;d like. </span></p>
<pre><span style="color:#ffffff;">public class SingletonObject
{
	private SingletonObject()
	{
		// no code req'd
	}
}</span></pre>
<p><span style="color:#ffffff;">So far so good. But unless we add some further code, there&#8217;ll be absolutely no way to use the class. We want to prevent direct instantiation, but we still need to allow a way to get a reference to an instance of the singleton object.</span></p>
<h4><span style="color:#ffffff;">Getting an instance of the singleton</span></h4>
<p><span style="color:#ffffff;">We need to provide an accessor method, that returns an instance of the SingletonObject class but doesn&#8217;t allow more than one copy to be accessed. We can manually instantiate an object, but we need to keep a reference to the singleton so that subsequent calls to the accessor method can return the singleton (rather than creating a new one). To do this, provide a public static method called getSingletonObject(), and store a copy of the singleton in a private member variable.</span></p>
<pre><span style="color:#ffffff;">public class SingletonObject
{
    private SingletonObject()
    {
        // no code req'd
    }

    public static SingletonObject getSingletonObject()
    {
      if (ref == null)
          // it's ok, we can call this constructor
          ref = new SingletonObject();
      return ref;
    }

    private static SingletonObject ref;
}</span></pre>
<p><span style="color:#ffffff;">So far, so good. When first called, the getSingletonObject() method creates a singleton instance, assigns it to a member variable, and returns the singleton. Subsequent calls will return the same singleton, and all is well with the world. </span></p>
<h4><span style="color:#ffffff;">Preventing thread problems with your singleton</span></h4>
<p><span style="color:#ffffff;">We need to make sure that threads calling the getSingletonObject() method don&#8217;t cause problems, so it&#8217;s advisable to mark the method as synchronized. This prevents two threads from calling the getSingletonObject() method at the same time. If one thread entered the method just after the other, you could end up calling the SingletonObject constructor twice and returning different values. To change the method, just add the <code>synchronized</code> keyword as follows to the method declaration :-</span></p>
<pre><span style="color:#ffffff;">public static synchronized
	 SingletonObject getSingletonObject()</span></pre>
<p><span style="color:#ffffff;">Are we finished yet?</span></p>
<p><span style="color:#ffffff;">There, finished. A singleton object that guarantees one instance of the class, and never more than one. Right? Well&#8230;. not quite. Where there&#8217;s a will, there&#8217;s a way &#8211; it is still possible to evade all our defensive programming and create more than one instance of the singleton class defined above. Here&#8217;s where most articles on singletons fall down, because they forget about cloning. Examine the following code snippet, which clones a singleton object.</span></p>
<pre><span style="color:#ffffff;">public class Clone
{
	public static void main(String args[])
	  throws Exception
	{
	  // Get a singleton
	  SingletonObject obj =
	  SingletonObject.getSingletonObject();

	  // Buahahaha. Let's clone the object
	  SingletonObject clone =
		(SingletonObject) obj.clone();
	}
}</span></pre>
<p><span style="color:#ffffff;">Okay, we&#8217;re cheating a little here. There isn&#8217;t a <code>clone()</code> method defined in SingletonObject, but there is in the <code>java.lang.Object</code> class which it is inherited from. By default, the <code>clone()</code> method is marked as protected, but if your SingletonObject extends another class that does support cloning, it is possible to violate the design principles of the singleton.  So, to be absolutely positively 100% certain that a singleton really is a singleton, we must add a <code>clone()</code> method of our own, and throw a <code>CloneNotSupportedException</code> if anyone dares try!</span></p>
<p><span style="color:#ffffff;">Here&#8217;s the final source code for a SingletonObject, which you can use as a template for your own singletons.</span></p>
<pre><span style="color:#ffffff;">public class SingletonObject
{
  private SingletonObject()
  {
    // no code req'd
  }

  public static SingletonObject getSingletonObject()
  {
    if (ref == null)
        // it's ok, we can call this constructor
        ref = new SingletonObject();
    return ref;
  }

  public Object clone()
	throws CloneNotSupportedException
  {
    throw new CloneNotSupportedException();
    // that'll teach 'em
  }

  private static SingletonObject ref;
}</span>
<strong><span style="color:#ff9900;">Java Tutorials by Ashutosh Sharma, pls visit :</span></strong>
<a title="Web Development Guide" href="http://sharma.ashutosh84.googlepages.com" target="_blank"><strong>http://sharma.ashutosh84.googlepages.com</strong></a></pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/74/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/74/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=74&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/19/singletons-in-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
		<item>
		<title>Final Class in Java</title>
		<link>http://javaforweb.wordpress.com/2008/05/19/final-classes-in-java/</link>
		<comments>http://javaforweb.wordpress.com/2008/05/19/final-classes-in-java/#comments</comments>
		<pubDate>Mon, 19 May 2008 06:24:09 +0000</pubDate>
		<dc:creator>javaforweb</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[Final Class in Java]]></category>

		<guid isPermaLink="false">http://javaforweb.wordpress.com/?p=73</guid>
		<description><![CDATA[In Java, a class organization such as:

        class A {}

        class B extends A {}

results in a superclass (A) and a subclass (B). References to B objects may be assigned to A references, and if an A reference &#8220;really&#8221; refers to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=73&subd=javaforweb&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="color:#ffffff;">In Java, a class organization such as:<br />
</span></p>
<pre><span style="color:#ffffff;">        class A {}

        class B extends A {}
</span></pre>
<p><span style="color:#ffffff;">results in a superclass (A) and a subclass (B). References to B objects may be assigned to A references, and if an A reference &#8220;really&#8221; refers to a B, then B&#8217;s methods will be called in preference to A&#8217;s. All of this is a standard part of the object-oriented programming paradigm offered by Java.<br />
</span></p>
<p><span style="color:#ffffff;">But there is a way to modify this type of organization, by declaring a class to be final. If I say:<br />
</span></p>
<pre><span style="color:#ffffff;">        final class A {}
</span></pre>
<p><span style="color:#ffffff;">then that means that A cannot be further extended or subclassed.<br />
</span></p>
<p><span style="color:#ffffff;">This feature has a couple of big implications. One is that it allows control over a class, so that no one can subclass the class and possibly introduce anomalous behavior. For example, java.lang.String is a final class. This means, for example, that I can&#8217;t subclass String and provide my own length() method that does something very different from returning the string length.<br />
</span></p>
<p><span style="color:#ffffff;">There is also a big performance issue with final classes. If a class is final, then all of its methods are implicitly final as well, that is, the method is guaranteed not be overridden in any subclass. A Java compiler may be able to inline a final method. For example, this program:<br />
</span></p>
<pre><span style="color:#ffffff;">        final class A {
                private int type;
                public int getType() {return type;}
        }

        public class test {
                public static void main(String args[])
                {
                        int N = 5000000;
                        int i = N;
                        int t = 0;
                        A aref = new A();
                        while (i-- &gt; 0)
                                t = aref.getType();
                }
        }
</span></pre>
<p><span style="color:#ffffff;">runs about twice as fast when the class is declared final.<br />
</span></p>
<p><span style="color:#ffffff;">Of course, much of the time it&#8217;s desirable to use the superclass / subclass paradigm to the full, and not worry about wringing out the last bit of speed. But sometimes you have heavily used methods that you&#8217;d like to have expanded inline, and a final class is one way of achieving that.</span></p>
<p><span style="color:#ffffff;">Java Tutorials by Ashutosh Sharma :</span></p>
<p><span style="color:#ffffff;">pls visit <a title="Web Development Guide" href="http://sharma.ashutosh84.googlepages.com" target="_blank">http://sharma.ashutosh84.googlepages.com</a></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaforweb.wordpress.com/73/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaforweb.wordpress.com/73/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaforweb.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaforweb.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaforweb.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaforweb.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaforweb.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaforweb.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaforweb.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaforweb.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaforweb.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaforweb.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaforweb.wordpress.com&blog=3123563&post=73&subd=javaforweb&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://javaforweb.wordpress.com/2008/05/19/final-classes-in-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/768edbc654b31bad08e970add8fc2b97?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javaforweb</media:title>
		</media:content>
	</item>
	</channel>
</rss>