blob: ba20204a37b3b2c186db6c4fb8c28d6db93d98c4 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<link type="text/css" rel="stylesheet" href="http://aries.apache.org/resources/site.css"></link>
</script><script src="http://aries.apache.org/resources/menus.js" language="javascript" type="text/javascript"></script>
<meta name="keywords" content="..."/>
<meta name="description" content="..." />
<title>
Apache Aries - Blog Sample
</title>
</head>
<body onload="SetMenu()">
<table width="100%" cellpadding="0" cellspacing="0">
<tr width="100%">
<td id="cell-0-0" colspan="2">&nbsp;</td>
<td id="cell-0-1">&nbsp;</td>
<td id="cell-0-2" colspan="2">&nbsp;</td>
</tr>
<tr width="100%">
<td id="cell-1-0">&nbsp;</td>
<td id="cell-1-1">&nbsp;</td>
<td id="cell-1-2">
<div style="padding: 5px;">
<div id="banner">
<!-- Banner -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" class="topbardiv" nowrap="">
<a href="http://aries.apache.org/" title="Apache Aries"> <img border="0" src="http://aries.apache.org/images/Arieslogo_Horizontal.gif"> </a>
</td>
<td align="right" nowrap="">
<a href="http://www.apache.org/" title="The Apache Software Foundation"> <img border="0" src="http://aries.apache.org/images/apache_feather.png"> </a>
</td>
</tr>
</table>
<!-- Banner -->
</div>
</div>
<div id="top-menu">
<table border="0" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td>
<div align="left">
<!-- Breadcrumbs -->
<!-- Breadcrumbs -->
</div>
</td>
<td>
<div align="right">
<!-- Quicklinks -->
<DIV style="padding: 5px 5px 0px 25px;">
<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
<A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A>
<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
<INPUT maxlength="255" name="q" size="15" type="text" value></INPUT>
<INPUT name="btnG" type="submit" value="Search"></INPUT>
<INPUT name="domains" type="hidden" value="aries.apache.org"></INPUT>
<INPUT name="sitesearch" type="hidden" value="aries.apache.org"></INPUT>
</FORM>
</DIV>
<!-- Quicklinks -->
</div>
</td>
</tr>
</table>
</div>
</td>
<td id="cell-1-3">&nbsp;</td>
<td id="cell-1-4">&nbsp;</td>
</tr>
<tr width="100%">
<td id="cell-2-0" colspan="2">&nbsp;</td>
<td id="cell-2-1">
<table>
<tr height="100%" valign="top">
<td height="100%">
<div id="wrapper-menu-page-right">
<div id="wrapper-menu-page-top">
<div id="wrapper-menu-page-bottom">
<div id="menu-page">
<!-- NavigationBar -->
<div onclick="SwitchMenu('overview')" id="overviewTitle" class="menutitle">Overview</div>
<div id="overview" class="menuitemgroup">
<div class="menuitem">
<a href="/overview/boardreports.html">Board Reports</a>
</div>
<div class="menuitem">
<a href="/overview/news.html">News</a>
</div>
</div>
<div onclick="SwitchMenu('documentation')" id="documentationTitle" class="menutitle">Documentation</div>
<div id="documentation" class="menuitemgroup">
<div class="menuitem">
<a href="/documentation/ariesprogrammingmodel.html">Programming Model</a>
</div>
<div class="menuitem">
<a href="/documentation/pointerstoosgispecifications.html">Pointers to OSGi specs</a>
</div>
<div class="menuitem">
<a href="/documentation/integrators-guide.html">Integrators Guide</a>
</div>
<div class="menuitem">
<a href="/documentation/articles.html">Articles</a>
</div>
<div class="menuitem">
<a href="https://svn.apache.org/repos/asf/aries/slides/">Slides</a>
</div>
<div class="menuitem">
<a href="/documentation/tutorials.html">Tutorials</a>
</div>
</div>
<div onclick="SwitchMenu('downloads')" id="downloadsTitle" class="menutitle">Downloads</div>
<div id="downloads" class="menuitemgroup">
<div class="menuitem">
<a href="/downloads/currentrelease.html">Current Release</a>
</div>
<div class="menuitem">
<a href="/downloads/testresults.html">Compliance Tests</a>
</div>
<div class="menuitem">
<a href="/downloads/releasenotes.html">Release Notes</a>
</div>
<div class="menuitem">
<a href="/downloads/archived-releases.html">Archived Releases</a>
</div>
</div>
<div onclick="SwitchMenu('community')" id="communityTitle" class="menutitle">Community</div>
<div id="community" class="menuitemgroup">
<div class="menuitem">
<a href="/community/overview.html">Community</a>
</div>
<div class="menuitem">
<a href="/community/gettinginvolved.html">Getting Involved</a>
</div>
<div class="menuitem">
<a href="/community/people.html">Who we are</a>
</div>
<div class="menuitem">
<a href="/community/mailinglists.html">Mailing lists</a>
</div>
<div class="menuitem">
<a href="http://blogs.apache.org/aries/">Aries Group Blog</a>
</div>
</div>
<div onclick="SwitchMenu('development')" id="developmentTitle" class="menutitle">Development</div>
<div id="development" class="menuitemgroup">
<div class="menuitem">
<a href="https://svn.apache.org/repos/asf/aries/">Source Control</a>
</div>
<div class="menuitem">
<a href="https://issues.apache.org/jira/browse/ARIES">Bug Tracking</a>
</div>
<div class="menuitem">
<a href="/development/buildingaries.html">Building Aries </a>
</div>
<div class="menuitem">
<a href="/development/maven-best-practice-in-aries.html">Maven best practice</a>
</div>
<div class="menuitem">
<a href="/development/moduledependencies.html">Module Dependencies</a>
</div>
<div class="menuitem">
<a href="/development/releasingaries.html">Releasing Aries </a>
</div>
<div class="menuitem">
<a href="/development/compliancetesting.html">OSGi Compliance Tests </a>
</div>
<div class="menuitem">
<a href="http://hudson.zones.apache.org/hudson/">Build System</a>
</div>
<div class="menuitem">
<a href="/development/maintainingthewebpages.html">Web Site Maintenance </a>
</div>
</div>
<div onclick="SwitchMenu('modules')" id="modulesTitle" class="menutitle">Modules</div>
<div id="modules" class="menuitemgroup">
<div class="menuitem">
<a href="/modules/samples.html">Samples</a>
</div>
<div class="menuitem">
<a href="/modules/blueprint.html">Blueprint</a>
</div>
<div class="menuitem">
<a href="/modules/jndiproject.html">JNDI</a>
</div>
<div class="menuitem">
<a href="/modules/jpaproject.html">JPA</a>
</div>
<div class="menuitem">
<a href="/modules/applications.html">Applications</a>
</div>
<div class="menuitem">
<a href="/modules/transactionsproject.html">Transactions</a>
</div>
<div class="menuitem">
<a href="/modules/ebamavenpluginproject.html">EBA Maven Plugin </a>
</div>
<div class="menuitem">
<a href="/modules/spi-fly.html">SPI Fly</a>
</div>
</div>
<div onclick="SwitchMenu('sponsorship')" id="sponsorshipTitle" class="menutitle">Sponsorship</div>
<div id="sponsorship" class="menuitemgroup">
<div class="menuitem">
<a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
</div>
<div class="menuitem">
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a>
</div>
</div>
<!-- NavigationBar -->
</div>
</div>
</div>
</div>
</td>
<td height="100%" width="100%">
<!-- Content -->
<div class="wiki-content"><p><a name="BlogSample-TheBlogSample"></a></p>
<h1 id="the_blog_sample">The Blog Sample</h1>
<p><a name="BlogSample-RunningtheBlogSample"></a></p>
<h2 id="running_the_blog_sample">Running the Blog Sample</h2>
<br>
<hr />
<p><strong>Note:</strong>
These instructions are for the 0.2-incubating release of Aries.
In the 0.2-incubating release the sample was changed to use an in-memory
database to avoid dependency on an explicit version of Derby. If you would
prefer to use a database on disk check the instructions for the
0.1-incubating release. You will also need to modify datasource.xml (under
blog-datasource) as indicated in the comments and then rebuild the sample.</p>
<hr />
<p><a name="BlogSample-CreatetheOSGiplatformfortheBlogsample"></a></p>
<h3 id="create_the_osgi_platform_for_the_blog_sample">Create the OSGi platform for the Blog sample</h3>
<p>Download and unzip the source zip for the <a href="aries:downloads.html">latest release</a>
of Aries Samples and build the blog-assembly module:</p>
<div class="codehilite"><pre><span class="n">cd</span> <span class="n">samples</span><span class="o">-</span><span class="mf">0.2</span><span class="o">-</span><span class="n">incubating</span><span class="sr">/blog/</span><span class="n">blog</span><span class="o">-</span><span class="n">assembly</span>
<span class="n">mvn</span> <span class="n">install</span>
</pre></div>
<p>This procedure will pull in the binaries from the latest release and its
dependencies.</p>
<p><a name="BlogSample-RunningtheBlogsample"></a></p>
<h3 id="running_the_blog_sample_1">Running the Blog sample</h3>
<p>Download the JDBC based Blog sample application (.eba file) from the <a href="aries:downloads.html">latest release</a>
. Change directory to the blog-assembly target directory:</p>
<div class="codehilite"><pre><span class="n">cd</span> <span class="n">samples</span><span class="o">-</span><span class="mf">0.2</span><span class="o">-</span><span class="n">incubating</span><span class="sr">/blog-sample/</span><span class="n">blog</span><span class="o">-</span><span class="n">assembly</span><span class="o">/</span><span class="n">target</span>
</pre></div>
<p>now start Aries in an OSGi framework (we're using Eclipse Equinox in this
case)</p>
<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">osgi</span><span class="o">-</span><span class="mf">3.5.0</span><span class="o">.</span><span class="n">v20090520</span><span class="o">.</span><span class="n">jar</span> <span class="o">-</span><span class="n">console</span>
</pre></div>
<p>The OSGi console should start up, the 'ss' command should show all of the
Blog bundles in state 'ACTIVE'.</p>
<p>Now start the blog application (.eba file) you downloaded earlier, by
copying it into the load directory which was created when Aries started.</p>
<p>Point your browser to <a href="http://localhost:8080/org.apache.aries.samples.blog.web/">http://localhost:8080/org.apache.aries.samples.blog.web/</a></p>
<p>If you subsequently delete the .eba from the load directory the application
will be uninstalled.</p>
<p><a name="BlogSample-RunningthesampleusingaJPApersistencelayer"></a></p>
<h3 id="running_the_sample_using_a_jpa_persistence_layer">Running the sample using a JPA persistence layer</h3>
<p>The first blog sample application was written to use a JDBC persistence
layer. There is a second application implemented to demonstrate the JPA
capability</p>
<p>To run the blog sample which uses the JPA persistence layer, start the OSGi
framework, remove any previous copies of the blog sample from the
target/load directory, then copy the Blog sample JPA .eba file into the
load directory.</p>
<p>Finally, after typing 'refresh' at the OSGi console, point your browser at <a href="http://localhost:8080/org.apache.aries.samples.blog.web/">http://localhost:8080/org.apache.aries.samples.blog.web/</a>
. You should see something that looks precisely the same as the blog sample
running with the JDBC persistence layer, but this time running using the
JPA persistence layer.</p>
<p><a name="BlogSample-Usingthelatest,unreleasedcode"></a></p>
<h2 id="using_the_latest_unreleased_code">Using the latest, unreleased code</h2>
<p>If you prefer to use the very latest code from subversion, checkout and
build the Aries trunk by following the <a href="aries:buildingaries.html">Building Aries instructions</a>
.</p>
<p><a name="BlogSample-AbouttheBlogsample"></a></p>
<h2 id="about_the_blog_sample">About the Blog sample</h2>
<p>The blog sample components can be visualised like this:</p>
<p>!BlogSample.png!</p></div>
<!-- Content -->
</td>
</tr>
</table>
</td>
<td id="cell-2-2" colspan="2">&nbsp;</td>
</tr>
<tr width="100%">
<td id="cell-3-0">&nbsp;</td>
<td id="cell-3-1">&nbsp;</td>
<td id="cell-3-2">
<div id="footer">
<!-- Footer -->
<div id="site-footer">
<a href="http://aries.apache.org/privacy-policy.html";>Privacy
Policy</a>
</div>
<!-- Footer -->
</div>
</td>
<td id="cell-3-3">&nbsp;</td>
<td id="cell-3-4">&nbsp;</td>
</tr>
<tr width="100%">
<td id="cell-4-0" colspan="2">&nbsp;</td>
<td id="cell-4-1">&nbsp;</td>
<td id="cell-4-2" colspan="2">&nbsp;</td>
</tr>
</table>
</body>
</html>