* added first draft of documentation
git-svn-id: svn+ssh://svn.synyx.de/var/svn/synyx/opensource/hera/trunk@3246 5a64d73e-33d6-4ccc-9058-23f8668ecac9
This commit is contained in:
168
src/doc/hera-reference.xml
Normal file
168
src/doc/hera-reference.xml
Normal file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY core SYSTEM "../../hera-core/src/doc/core.xml">
|
||||
<!ENTITY metadata SYSTEM "../../hera-metadata/src/doc/metadata.xml">
|
||||
]>
|
||||
<!-- book -->
|
||||
<book>
|
||||
<bookinfo>
|
||||
<title>Hera</title>
|
||||
|
||||
<subtitle>The smallest plugin system ever</subtitle>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Oliver</firstname>
|
||||
|
||||
<surname>Gierke</surname>
|
||||
|
||||
<affiliation>
|
||||
<jobtitle>Software Architect</jobtitle>
|
||||
|
||||
<orgname>Synyx GmbH & Co. KG</orgname>
|
||||
</affiliation>
|
||||
|
||||
<email>gierke@synyx.de</email>
|
||||
|
||||
<address>Karlstraße 68, 76137 Karsruhe, Germany</address>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<releaseinfo>V0.1</releaseinfo>
|
||||
|
||||
<pubdate>04.11.2008</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
|
||||
<holder>Synyx GmbH & Co. KG</holder>
|
||||
</copyright>
|
||||
|
||||
<revhistory>
|
||||
<revision>
|
||||
<date>04.11.2008</date>
|
||||
|
||||
<author>
|
||||
<firstname>Oliver</firstname>
|
||||
|
||||
<surname>Gierke</surname>
|
||||
</author>
|
||||
|
||||
<revremark>Initial draft </revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
</bookinfo>
|
||||
|
||||
<preface>
|
||||
<title>Preface</title>
|
||||
|
||||
<section>
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>Building extensible architectures nowadays is a core principle to
|
||||
create maintainable applications. This is why fully fledged plugin
|
||||
environments like <glossterm><abbrev>OSGi</abbrev></glossterm> are so
|
||||
poular these days. Unfortunately the introduction of
|
||||
<glossterm><abbrev>OSGi</abbrev></glossterm> introduces a lot of
|
||||
complexity to projects.</para>
|
||||
|
||||
<para>Hera provides a more pragmatic approach to plugin development by
|
||||
providing the core flexibility of having plugin implementations
|
||||
extending a core system's functionality but of course not delivering
|
||||
core <abbrev>OSGi</abbrev> features like dynamic class loading or
|
||||
runtime installation and deployment of plugins. Although Hera thus is
|
||||
not nearly as powerful as <abbrev>OSGi</abbrev>, it servers little man's
|
||||
requirements to build a modular extensible application.</para>
|
||||
</section>
|
||||
|
||||
<section id="preface.context">
|
||||
<title>Context</title>
|
||||
|
||||
<para><itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>You want to build an extensible architecture minimizing
|
||||
overhead as much as possible</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>You cannot use OSGi as fully fledged plugin architecture for
|
||||
whatever reasons</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>You want to express extensibility by providing dedicated
|
||||
plugin interfaces</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>You want to extend the core system by simply providing an
|
||||
implementation of the plugin interface bundled in a JAR file and
|
||||
available in the classpath.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>(You use Spring in your application)</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<para>The last point actually is not essential although Hera gains a lot
|
||||
of momentum in collaborative use with Spring.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Technologies</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Spring</title>
|
||||
|
||||
<para>Spring is the defacto standard application framework for Java
|
||||
applications. Its consistent programming model, easy configuration and
|
||||
wide support for all kinds of third party libraries makes it the first
|
||||
class citizen of application frameworks. Hera tightly integrates into
|
||||
Spring's component model and extends the core container with some
|
||||
custom functionality.</para>
|
||||
</simplesect>
|
||||
</section>
|
||||
</preface>
|
||||
|
||||
&core;
|
||||
|
||||
&metadata;
|
||||
|
||||
<glossary>
|
||||
<glossdiv>
|
||||
<title>O</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>OSGi</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>Open Services Gateway Initiative - a fully fledged plugin
|
||||
runtime environment on top of the Java VM - <ulink
|
||||
url="http://en.wikipedia.org/wiki/OSGi">http://en.wikipedia.org/wiki/OSGi</ulink>.</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>X</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>XML</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>eXtensible Markup Language</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>XSD</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>Xml Schema Definition</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
</glossary>
|
||||
</book>
|
||||
Reference in New Issue
Block a user