blob: 6d4c834940b26fab3aabaea6830859a3ca53664e [file] [log] [blame]
<?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="kernel-regions-overview">
<title>Overview of the @kernel.product.name@ and User Region</title>
<para>Conceptually, @tomcat.product.name.short@ can be divided into two separate subsystems, one of which actually encompases the other:</para>
<itemizedlist>
<listitem>The <emphasis>kernel</emphasis>, which is the heart of @tomcat.product.name.short@. It makes up most of the @tomcat.product.name.short@, except for the part that supports Web applications. In other words, the kernel provides full OSGi modular support for your applications, as long as they are not Web-based.
<para>See <link linkend="kernel-overview">The @kernel.product.name@</link> for additional information.</para>
</listitem>
<listitem>The <emphasis>user region</emphasis> is the subsystem that manages user applications. It deliberately isolates the kernel from both your applications and those of the @tomcat.product.name.short@ itself, such as the Admin Console, making it much easier for you to administer @tomcat.product.name.short@.
<para>See <link linkend="user-region-overview">The User Region</link> for additional information.</para>
</listitem>
</itemizedlist>
<para>When you download and install @tomcat.product.name@ you get both the kernel and web server support (configured in the user region). You can also <ulink url="http://www.eclipse.org/virgo/download/">download and use the kernel</ulink> on its own if you do not plan on deploying Web applications or using the
web-based Admin Console and you'll get the kernel and a minimal user region (with no web support).</para>
<para>The following graphic shows how the kernel and user region make up @tomcat.product.name.short@:</para>
<imagedata fileref="images/kernel-user-region.png" width="885px" depth="805px" />
<section id="kernel-overview">
<title>The @kernel.product.name@</title>
<para>
The @kernel.product.name@ encapsulates almost all of @tomcat.product.name.short@ except for the deployment of Web applications. In sum, the kernel provides the following @tomcat.product.name.short@ features:
</para>
<itemizedlist>
<listitem>
<para>
Deployment of non-Web artifacts, such as OSGi bundles, PARs, plans,
and configuration artifacts.
</para>
</listitem>
<listitem>
<para>
Local and hosted repositories
</para>
</listitem>
<listitem>
<para>
Scoping
</para>
</listitem>
<listitem>
<para>
Hot deployment
</para>
</listitem>
<listitem>
<para>
User region
</para>
</listitem>
<listitem>
<para>
Auto-provisioning
</para>
</listitem>
<listitem>
<para>
System and application tracing and dump support
</para>
</listitem>
<listitem>
<para>
Spring beans and Spring DM support
</para>
</listitem>
</itemizedlist>
<para>See <link linkend="configuring">Configuring @tomcat.product.name.short@</link> for details about configuring the kernel to better suit your environment. </para>
</section>
<section id="user-region-overview">
<title>The User Region</title>
<para>
The user region isolates the kernel from deployed applications,
including both your own user applications and the user-oriented
@tomcat.product.name.short@ applications such as the Admin Console. This means
that the kernel is mostly invisible to applications and to application
management. This is because most of the kernel bundles are not
installed in the user region (apart from a few needed for region
management). The necessary function to support the kernel runs in the
OSGi framework, but the user region applications cannot see it, except
for the services that are normally offered.
</para>
<para>
This way of implementing @tomcat.product.name.short@ greatly simplifies
the administration tasks you perform. In particular, when you use the
Admin Console to manage Web Server, you do not see
the many bundles that are internal to the kernel. The only exceptions
are bundles in the kernel region, typically just the system bundle, which are configured to be
visible in the user region and the kernel bundles that @tomcat.product.name.short@ uses for region
management, which are required to be installed in the user region.
</para>
<para>This isolation has many other benefits. For example, it is not necessary for the kernel and user applications to use the same version of the Spring Framework. In fact the kernel installs only those parts of the Spring Framework that it needs. If you update the kernel, it is far less likely that you will also need to upgrade or adjust the applications to accomodate a new version of the kernel. The kernel implementation is therefore much more stable and resilient and applications are much more likely to survive kernel upgrades between releases. </para>
<para>When you install @tomcat.product.name.short@, the kernel creates a single user region.
The kernel and the user region are configured independently of each other; see <link linkend="configuring">Configuring @tomcat.product.name.short@</link> for details.
</para>
<para>Finally, the isolation provided by the user region together with scoped applications and plans solve common dependency problems that occur when using OSGi. </para>
</section>
</chapter>