blob: 6440c9a21d6bdf1a2f7827a710dc07be7eabc67d [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2.&nbsp;Installing and Running GreenPages</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="A Guide to the GreenPages Sample"><link rel="up" href="index.html" title="A Guide to the GreenPages Sample"><link rel="prev" href="ch01s04.html" title="1.4&nbsp;Installing Apache Maven"><link rel="next" href="ch02s02.html" title="2.2&nbsp;Obtaining GreenPages"><!--Begin Google Analytics code--><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-2728886-3");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
</script><!--End Google Analytics code--></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.&nbsp;Installing and Running GreenPages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="installing.greenpages"></a>2.&nbsp;Installing and Running GreenPages</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="installing.greenpages.introduction"></a>2.1&nbsp;Introduction</h2></div></div></div><p>GreenPages is a simple application that allows users to search an online email address directory. Each listing
in the directory details the relevant email addresses and the name of the owner. GreenPages has only three screens:
the search screen, the results screen and the listing detail screen.</p><p>In the search screen, users can enter search criteria to be matched against the listings in the directory.
The result screen displays any listings that match the criteria entered by the user. The listing detail screen
shows all the data known about a given listing.</p><p>Despite its simplicity, GreenPages is designed to demonstrate many different Virgo Tomcat Server features and to
act as a template from which other modular applications can be built. In particular, GreenPages demonstrates:
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>bundle dependencies with <code class="literal">Import-Package</code>,</p></li><li style="list-style-type: disc"><p>load-time weaving with JPA and AspectJ,</p></li><li style="list-style-type: disc"><p>bundle classpath scanning, and</p></li><li style="list-style-type: disc"><p>service export, lookup and injection.</p></li></ul></div><p>In addition to demonstrating common Virgo Tomcat Server features, GreenPages demonstrates integration with:
</p><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Spring Framework 3.0;</p></li><li style="list-style-type: disc"><p>FreeMarker 2.3;</p></li><li style="list-style-type: disc"><p>EclipseLink 1.0.0;</p></li><li style="list-style-type: disc"><p>H2 1.0.71; and</p></li><li style="list-style-type: disc"><p>Commons DBCP 1.2.2.</p></li></ul></div><p>
</p><p>The GreenPages application is packaged as a PAR file containing four bundles.
</p><div class="mediaobject" align="center"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0" width="461"><tr><td align="center"><img src="images/installing-greenpages/greenpages.png" align="middle" width="461"></td></tr></table></div><p>
</p><p>
The <code class="literal">greenpages.db</code> bundle provides access to an external database and publishes a
<code class="literal">javax.sql.DataSource</code> service.
</p><p>
The <code class="literal">greenpages.app</code> bundle exports a <code class="literal">greenpages</code> package containing
<code class="literal">Directory</code> and <code class="literal">Listing</code> interfaces.
</p><p>
The <code class="literal">greenpages.jpa</code> bundle imports the <code class="literal">greenpages</code> package and
uses the <code class="literal">javax.sql.DataSource</code> service to
access the external database and publishes its contents as a <code class="literal">greenpages.Directory</code> service.
</p><p>
The <code class="literal">greenpages.web</code> web application bundle imports the <code class="literal">greenpages</code> package and uses the
<code class="literal">greenpages.Directory</code> service to respond to web requests.
</p></div></div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script><script type="text/javascript">
_lf_cid = "LF_48be82fa";
_lf_remora();
</script><!--End LoopFuse code--><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.4&nbsp;Installing Apache Maven&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;2.2&nbsp;Obtaining GreenPages</td></tr></table></div></body></html>