| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
| "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> |
| <chapter id="introduction"> |
| <title>Introduction</title> |
| <para> |
| This Guide covers @snaps.product.name@ and assumes you are already familiar with OSGi and @project.name@. See <link linkend="further-reading">here</link>. |
| </para> |
| |
| <section id="introduction-concepts"> |
| <title>Concepts</title> |
| <para> |
| Using @snaps.product.name@, or @snaps.product.name.short@ for short, you can construct a web application from multiple OSGi |
| bundles, each of which serves up content for a distinct sub-portion of your application's URL space. @snaps.product.name.short@ |
| applications are arranged in a parent/child structure, with each application having at most one top-level parent, and zero or more |
| children/grand children and so on. Parents are referred to as the hosts, children as snaps. |
| </para> |
| <para> |
| <imagedata fileref="images/snapsAndHosts.png"/> |
| </para> |
| <para> |
| Here you see that any <literal>HTTP</literal> requests for '/app' will be dealt with by the host bundle while '/app/orders' |
| and '/app/billing' will be dealt with by their respective snaps bundles. Each host/snap can use completely different web technologies |
| to deal with the requests, @snaps.product.name.short@ places no restrictions on your choices. The developer decides how to split |
| the application up and how closely to couple the host and various snaps. @snaps.product.name.short@ has been designed to be as |
| un-invasive as possible while still making it easy to share information between the host and its snaps. |
| </para> |
| </section> |
| |
| <section id="introduction-prereqs"> |
| <title>Prerequisites</title> |
| <para> |
| @snaps.product.name.short@ requires @tomcat.product.name@ and Java SE 6 or later to be installed. Java is available from |
| <ulink url="http://www.java.com/">http://www.java.com/</ulink> and elsewhere. @tomcat.product.name@ is available from |
| <ulink url="http://www.eclipse.org/virgo/download/">here</ulink>. |
| </para> |
| </section> |
| |
| </chapter> |