JBoss Community Archive (Read Only)

Scribble

Integration

The runtime branch of the project
is concerned with providing integration of the OSGi
bundles, defined in the tools/bundles branch,
in different execution environments.

Command Line

The Scribble tools architecture is based on OSGi, which means
that the OSGi compliant bundles can run within any OSGi
compliant service container. However
OSGi is a service framework, intended to manage services
in a service container (or server).

Therefore, to leverage OSGi bundles (or services), from
a command line invoked application, we need to select
a specific OSGi implementation that supports this approach,
as it is not defined as part of the OSGi standard.

Therefore, to provide this command line capability, we
have selected the Apache Felix
OSGi implementation. This is the reason that the
Felix jars are included in the
distribution's lib sub-folder,
rather than just implementation independent OSGi
jars.

Although it is possible to define new modules as part
of the Scribble project, it is also possible to develop
them independently and just place them within the
bundle folder of the installed
(unpacked) Scribble distribution. This will make them
available as part of the command line commands (e.g.
if the bundle represents an additional validation
module).

Embedded Java

OSGi is about defining components, with well defined
interfaces, and managing their isolation, to enable
modules to be dyamically added or removed as necessary.

However, it is also possible to use these same
components, based on the separation of interfaces and
implementations, using any suitable factory or
direct injection approach.

The bundles are just normal jar
archives. They only have special significance when
placed in an OSGi container.

Eclipse

To integrate the Scribble protocol model, parser and
supporting validating modules into Eclipse, it is
necessary to package them in the form of an update
site. This is achieved using the maven plugin called
Tycho.

The tools folder within the source
project structure contains all of the OSGi and Eclipse
based artifacts.

The bundles sub-folder contains the
OSGi modules that can be used in an OSGi container, or
integrated with the Eclipse specific plugins into an
Eclipse update site.

The features and plugins
sub-folders contain the more traditional Eclipse features
and plugins. These plugins provide the Eclipse specific
capabilities that also utilise the capabilities of
the OSGi modules defined in the bundles
sub-folder.

The site sub-folder provides the update
site definition. This is used by Tycho to build an
update site from the specified features, plugins and other
OSGi bundles.

The update site that is built as part of the maven build
scripts is not included as part of the distribution. The
update site is intended to be installed on a network
server, to enable users to reference it from the update
manager in their Eclipse environment.

The final sub-folder within the tools
structure is the tests

sub-folder. This
is used to define the test plugins that are invoked
as part of the Tycho build mechanism.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 09:37:58 UTC, last content change 2011-05-24 08:36:12 UTC.