Author: thomas.diesler(a)jboss.com
Date: 2009-03-25 06:11:47 -0400 (Wed, 25 Mar 2009)
New Revision: 86293
Added:
projects/jboss-osgi/trunk/build/docbook/en/images/hudson_home.png
Modified:
projects/jboss-osgi/trunk/build/docbook/en/images/izpack-jboss-home.jpg
projects/jboss-osgi/trunk/build/docbook/en/master.xml
projects/jboss-osgi/trunk/build/docbook/en/modules/frameworkintegration.xml
projects/jboss-osgi/trunk/build/docbook/en/modules/gettingstarted.xml
projects/jboss-osgi/trunk/build/docbook/en/modules/introduction.xml
Log:
Userguide - Hudson QA
Added: projects/jboss-osgi/trunk/build/docbook/en/images/hudson_home.png
===================================================================
(Binary files differ)
Property changes on: projects/jboss-osgi/trunk/build/docbook/en/images/hudson_home.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: projects/jboss-osgi/trunk/build/docbook/en/images/izpack-jboss-home.jpg
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/build/docbook/en/master.xml
===================================================================
--- projects/jboss-osgi/trunk/build/docbook/en/master.xml 2009-03-25 10:05:28 UTC (rev
86292)
+++ projects/jboss-osgi/trunk/build/docbook/en/master.xml 2009-03-25 10:11:47 UTC (rev
86293)
@@ -1,11 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ $Id$
+-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
"../dtd/docbookx.dtd" [
-<!ENTITY Chap_Introduction SYSTEM "modules/introduction.xml">
-<!ENTITY Chap_Getting_Started SYSTEM "modules/gettingstarted.xml">
-<!ENTITY Chap_Framework_Integration SYSTEM
"modules/frameworkintegration.xml">
-<!ENTITY Chap_Provided_Services SYSTEM "modules/providedservices.xml">
+<!ENTITY ChapIntroduction SYSTEM "modules/introduction.xml">
+<!ENTITY ChapGettingStarted SYSTEM "modules/gettingstarted.xml">
+<!ENTITY ChapFrameworkIntegration SYSTEM
"modules/frameworkintegration.xml">
+<!ENTITY ChapProvidedServices SYSTEM "modules/providedservices.xml">
<!ENTITY version "1.0.0.Alpha3">
]>
@@ -18,9 +20,8 @@
<toc />
- &Chap_Introduction;
- &Chap_Getting_Started;
- &Chap_Framework_Integration;
- &Chap_Provided_Services;
+ &ChapIntroduction;
+ &ChapGettingStarted;
+ &ChapFrameworkIntegration;
</book>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/build/docbook/en/modules/frameworkintegration.xml
===================================================================
--- projects/jboss-osgi/trunk/build/docbook/en/modules/frameworkintegration.xml 2009-03-25
10:05:28 UTC (rev 86292)
+++ projects/jboss-osgi/trunk/build/docbook/en/modules/frameworkintegration.xml 2009-03-25
10:11:47 UTC (rev 86293)
@@ -1,11 +1,11 @@
<!--
$Id$
-->
-<chapter id="Chap_Framework_Integration">
+<chapter id="ChapFrameworkIntegration">
<title>Framework Integration</title>
- <sect1>
+ <sect1 id="SecIntFelix">
<title>Apache Felix Integration</title>
<para>JBossOSGi provides integration for the <ulink
url="http://felix.apache.org">Apache Felix</ulink> OSGi Framework and
some
@@ -77,7 +77,7 @@
</table>
</sect1>
- <sect1>
+ <sect1 id="SecIntEquinox">
<title>Equinox Integration</title>
<note>
@@ -85,7 +85,7 @@
</note>
</sect1>
- <sect1>
+ <sect1 id="SecIntKnopflerfish">
<title>Knopflerfish Integration</title>
<note>
Modified: projects/jboss-osgi/trunk/build/docbook/en/modules/gettingstarted.xml
===================================================================
--- projects/jboss-osgi/trunk/build/docbook/en/modules/gettingstarted.xml 2009-03-25
10:05:28 UTC (rev 86292)
+++ projects/jboss-osgi/trunk/build/docbook/en/modules/gettingstarted.xml 2009-03-25
10:11:47 UTC (rev 86293)
@@ -1,14 +1,14 @@
<!--
$Id$
-->
-<chapter id="Chap_Getting_Started">
+<chapter id="ChapGettingStarted">
<title>Getting Started</title>
<para>This chapter takes you through the first steps of getting JBossOSGi and
provides the initial pointers to get up and running.</para>
- <sect1>
+ <sect1 id="SecInstall">
<title>Installing JBossOSGi</title>
<para>JBossOSGi is distributed as an <ulink
url="http://izpack.org">IzPack</ulink> installer archive.
@@ -55,7 +55,6 @@
<listitem><emphasis role="bold">JBossOSGi
Integration</emphasis> - Integration with an existing JBossAS
instance</listitem>
</itemizedlist>
-
<para>In case you have selected 'JBossOSGi Integration', you will be
presented with the choice of supported target containers.</para>
<mediaobject>
@@ -90,7 +89,7 @@
</mediaobject>
</sect1>
- <sect1>
+ <sect1 id="SecRuntime">
<title>JBossOSGi Runtime</title>
<para>If you selected 'JBossOSGi Runtime' during installation you
should see a <emphasis role="bold">runtime</emphasis> folder, which
contains
@@ -135,46 +134,197 @@
14:43:55,250 INFO [ServerImpl] JBoss (Microcontainer) [5.0.1.GA ...] Started in
11s:645ms
</programlisting>
- <sect2>
- <title>Bundle Deployment</title>
+
+ <emphasis role="bold">Bundle Deployment</emphasis>
- <para>Bundle deployement works, as you would probably expect, by dropping
your OSGi Bundle into the
- JBossOSGi Runtime <emphasis role="bold">deploy</emphasis>
folder.</para>
-
- <programlisting>
- [tdiesler@tdvaio testsuite]$ cp .../test-libs/jbosgi36-bundle.jar
.../runtime/server/default/deploy
- ...
- 15:11:50,490 INFO [OSGiDeployer] Installed: jbosgi36 [9][INSTALLED]
- 15:11:50,491 INFO [jbosgi36] BundleEvent INSTALLED
- 15:11:50,511 INFO [jbosgi36] BundleEvent RESOLVED
- 15:11:50,513 INFO [jbosgi36] ServiceEvent REGISTERED
- 15:11:50,514 INFO [jbosgi36] BundleEvent STARTED
- 15:11:50,514 INFO [BundleStartStopDeployer] Started: jbosgi36 [9][ACTIVE]
- </programlisting>
-
- <note>
- <para>TODO: Provide example bundles and use them here</para>
- </note>
-
- </sect2>
+ <para>Bundle deployement works, as you would probably expect, by dropping your
OSGi Bundle into the
+ JBossOSGi Runtime <emphasis role="bold">deploy</emphasis>
folder.</para>
- <sect2>
- <title>Managing installed Bundles</title>
-
- <para>JBossOSGi comes with a simple Web Console, which is currently based on
the
- <ulink
url="http://felix.apache.org/site/apache-felix-web-console.html"... Felix
Web Console</ulink> project.
- By default the JBossOSGi Web Console is available at <ulink
url="http://localhost:8090/jboss-osgi">http://localhost:8090/jboss-osgi</ulink></para>
+ <programlisting>
+ [tdiesler@tdvaio testsuite]$ cp .../test-libs/jbosgi36-bundle.jar
.../runtime/server/default/deploy
+ ...
+ 15:11:50,490 INFO [OSGiDeployer] Installed: jbosgi36 [9][INSTALLED]
+ 15:11:50,491 INFO [jbosgi36] BundleEvent INSTALLED
+ 15:11:50,511 INFO [jbosgi36] BundleEvent RESOLVED
+ 15:11:50,513 INFO [jbosgi36] ServiceEvent REGISTERED
+ 15:11:50,514 INFO [jbosgi36] BundleEvent STARTED
+ 15:11:50,514 INFO [BundleStartStopDeployer] Started: jbosgi36 [9][ACTIVE]
+ </programlisting>
+
+ <note>
+ <para>TODO: Provide example bundles and use them here</para>
+ </note>
+
+
+ <emphasis role="bold">Managing installed Bundles</emphasis>
+
+ <para>JBossOSGi comes with a simple Web Console, which is currently based on
the
+ <ulink
url="http://felix.apache.org/site/apache-felix-web-console.html"... Felix
Web Console</ulink> project.
+ By default the JBossOSGi Web Console is available at <ulink
url="http://localhost:8090/jboss-osgi">http://localhost:8090/jboss-osgi</ulink></para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/webconsole.jpg"
contentwidth="120%"/>
- </imageobject>
- </mediaobject>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/webconsole.jpg"
contentwidth="120%"/>
+ </imageobject>
+ </mediaobject>
+
+ <note>
+ <para>TODO: Cleanup and document console provided functionality</para>
+ </note>
+ </sect1>
+
+ <sect1 id="SecHudson">
+ <title>Hudson QA Environment</title>
- <note>
- <para>TODO: Cleanup and document console provided
functionality</para>
- </note>
- </sect2>
+ <emphasis role="bold">Setup the Hudson QA
Environment</emphasis>
+
+ <para>The JBossOSGi <ulink
url="http://jbmuc.dyndns.org:8280/hudson">Hudson QA Environment</ulink>
is an integral part of the JBossOSGi code base.
+ It is designed for simplicity because we believe that comprehensive QA will only get
done if it is dead simple to do so.</para>
+
+ <para>Consequently, you only have to execute two simple ant targets to setup
the QA environment that was used to QA the JBossOSGi
+ release that you currently work with.</para>
+
+ <para>If in future we should discover a problem with a previous JBossOSGi
release, it will be possible to provide a patch and verify that change using
+ the original QA environment for that release.</para>
+
+ <para>With every release we test the matrix of supported target containers and
JDKs.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/hudson_home.png"
contentwidth="120%"/>
+ </imageobject>
+ </mediaobject>
+
+ <emphasis role="bold">Set Hudson Properties</emphasis>
+
+ <para>You need to set a few properties, especially these</para>
+
+ <itemizedlist>
+ <listitem>hudson.maven.path</listitem>
+ <listitem>hudson.username</listitem>
+ <listitem>hudson.password</listitem>
+ <listitem>hudson.root</listitem>
+ </itemizedlist>
+
+ <programlisting>
+ cd build/hudson
+ cp ant.properties.example ant.properties
+ vi ant.properties
+
+ # JBoss remote repository
+
jboss.repository=http://repository.jboss.org
+
+ # The JBoss settings
+ jboss.server.instance=default
+ jboss.bind.address=127.0.0.1
+
+ # JDK settings
+ java.home.jdk15=/usr/java/jdk1.5.0_17
+ java.home.jdk16=/usr/java/jdk1.6.0_11
+
+ # Hudson QA Environment
+ hudson.username=chageme
+ hudson.password=chageme
+
+ hudson.maven.path=/usr/java/apache-maven-2.0.9
+
+ hudson.root=/home/tdiesler/workspace/hudson/jboss-osgi
+
+ hudson.maven.profile=$HUDSONDIR/profiles.xml.local.qa
+
+
hudson.host=jbpm.dyndns.org
+ hudson.admin.port=8250
+ hudson.http.port=8280
+
+ #hudson.jboss501.zip=file:///home/tdiesler/Download/java/jboss/jboss-5.0.1.GA.zip
+
+ hudson.mail.recipients=
+ hudson.smtp.host=localhost
+
+ # Hudson (1.290)
+ apache-tomcat=5.5.20
+ sun-hudson=2402/128862
+ </programlisting>
+
+ <emphasis role="bold">Run Hudson Setup</emphasis>
+
+ <programlisting>
+ [tdiesler@tdvaio hudson]$ ant hudson-setup
+ Buildfile: build.xml
+
+ init:
+ [echo] V1.0.0.Alpha3
+
+ init-hudson:
+ [echo]
+ [echo] hudson.root = /home/tdiesler/workspace/hudson/jboss-osgi
+ [echo] hudson.home = /home/tdiesler/workspace/hudson/jboss-osgi/hudson-home
+ [echo]
+
+ ...
+
+ hudson-setup:
+ [copy] Copying 2 files to /home/.../hudson/jboss-osgi/apache-tomcat
+ ...
+ [echo]
+ [echo] *************************************
+ [echo] * Hudson setup successfully *
+ [echo] * ant hudson-start *
+ [echo] *************************************
+ [echo]
+ </programlisting>
+
+ <emphasis role="bold">Run Hudson Start</emphasis>
+
+ <programlisting>
+ [tdiesler@tdvaio hudson]$ ant hudson-start
+ Buildfile: build.xml
+
+ init:
+ [echo] V1.0.0.Alpha3
+
+ init-hudson:
+ [echo]
+ [echo] hudson.root = /home/tdiesler/workspace/hudson/jboss-osgi
+ [echo] hudson.home = /home/tdiesler/workspace/hudson/jboss-osgi/hudson-home
+ [echo]
+
+ hudson-start:
+ [echo]
+ [echo] *************************************
+ [echo] * Hudson started successfully *
+ [echo] *
http://localhost:8280/hudson *
+ [echo] *************************************
+ [echo]
+
+ BUILD SUCCESSFUL
+ </programlisting>
+
+ <emphasis role="bold">Run Hudson Stop</emphasis>
+
+ <programlisting>
+ [tdiesler@tdvaio hudson]$ ant hudson-stop
+ Buildfile: build.xml
+
+ init:
+ [echo] V1.0.0.Alpha3
+
+ init-hudson:
+ [echo]
+ [echo] hudson.root = /home/tdiesler/workspace/hudson/jboss-osgi
+ [echo] hudson.home = /home/tdiesler/workspace/hudson/jboss-osgi/hudson-home
+ [echo]
+
+ hudson-stop:
+ [echo]
+ [echo] *************************************
+ [echo] * Hudson stopped successfully *
+ [echo] * ant hudson-start *
+ [echo] *************************************
+ [echo]
+
+ BUILD SUCCESSFUL
+ </programlisting>
</sect1>
</chapter>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/build/docbook/en/modules/introduction.xml
===================================================================
--- projects/jboss-osgi/trunk/build/docbook/en/modules/introduction.xml 2009-03-25
10:05:28 UTC (rev 86292)
+++ projects/jboss-osgi/trunk/build/docbook/en/modules/introduction.xml 2009-03-25
10:11:47 UTC (rev 86293)
@@ -5,7 +5,7 @@
<title>Introduction</title>
- <sect1>
+ <sect1 id="SecWhatIsOsgi">
<title>What is OSGi</title>
<para>The <ulink
url="http://www2.osgi.org/Release4/HomePage">Open Services Gateway Initiative
(OSGi)</ulink>,
@@ -28,34 +28,34 @@
<listitem>Provide an OSGi compliant framework implementation based on the
<ulink
url="http://www.jboss.org/jbossmc">JBoss
Microcontainer</ulink></listitem>
</orderedlist>
- <sect2>
- <title>What does OSGi offer to Java developers?</title>
-
- <para>OSGi modules provide classloader semantics to partially expose code
that can then be consumed by other modules.
- The implementation details of a module, although scoped public by the Java
programming language, remain private to the module.
- On top of that you can install multiple versions of the same code and resolve
dependencies by version and other criteria.
- OSGi also offers advanced security and lifecycle, which I'll explain in more
detail further down.</para>
- </sect2>
+
+ <emphasis role="bold">What does OSGi offer to Java
developers?</emphasis>
+
+ <para>OSGi modules provide classloader semantics to partially expose code that
can then be consumed by other modules.
+ The implementation details of a module, although scoped public by the Java
programming language, remain private to the module.
+ On top of that you can install multiple versions of the same code and resolve
dependencies by version and other criteria.
+ OSGi also offers advanced security and lifecycle, which I'll explain in more
detail further down.</para>
- <sect2>
- <title>What kind of applications benefit from OSGi?</title>
-
- <para>Any application that is designed in a modular fashion where it is
necessary to start, stop, update individual modules with minimal impact
- on other modules. Modules can define their own transitive dependencies without the
need to resolve these dependencies at the container level.
- The OSGi platform builds an exellent foundation for the next generation JBoss ESB
for example.</para>
- </sect2>
+
- <sect2>
- <title>Should Java EE developers adopt the OSGi programming
model?</title>
-
- <para>Probably not. The OSGi runtime may be used internally by Java EE
container providers to achieve the desired isolation and configuration
- flexibility that the container whishes to provide. At the application programming
level, the Java EE model will continue to exist in its own right,
- wheras the OSGi model may provide the more suitable runtime environment for
applications that require the modular isolation, security and lifecycle
- management that OSGi offers.</para>
- </sect2>
+ <emphasis role="bold">What kind of applications benefit from
OSGi?</emphasis>
+
+ <para>Any application that is designed in a modular fashion where it is
necessary to start, stop, update individual modules with minimal impact
+ on other modules. Modules can define their own transitive dependencies without the
need to resolve these dependencies at the container level.
+ The OSGi platform builds an exellent foundation for the next generation JBoss ESB for
example.</para>
+
+
+
+ <emphasis role="bold">Should Java EE developers adopt the OSGi
programming model?</emphasis>
+
+ <para>Probably not. The OSGi runtime may be used internally by Java EE
container providers to achieve the desired isolation and configuration
+ flexibility that the container whishes to provide. At the application programming
level, the Java EE model will continue to exist in its own right,
+ wheras the OSGi model may provide the more suitable runtime environment for
applications that require the modular isolation, security and lifecycle
+ management that OSGi offers.</para>
+
</sect1>
- <sect1>
+ <sect1 id="SecFramworkOverview">
<title>OSGi Framework Overview</title>
<para>The functionality of the Framework is divided in the following
layers:</para>
@@ -74,9 +74,9 @@
</imageobject>
</mediaobject>
- <sect2>
- <title>OSGi Security Layer</title>
+ <emphasis role="bold">OSGi Security Layer</emphasis>
+
<para>The OSGi Security Layer is an optional layer that underlies the OSGi
Service Platform.
The layer is based on the Java 2 security architecture. It provides the
infrastructure to deploy and manage
applications that must run in fine grained controlled environments.</para>
@@ -97,10 +97,10 @@
<imagedata fileref="images/osgi-delegation.png"/>
</imageobject>
</mediaobject>
- </sect2>
- <sect2>
- <title>OSGi Module Layer</title>
+
+
+ <emphasis role="bold">OSGi Module Layer</emphasis>
<para>The OSGi Module Layer provides a generic and standardized solution for
Java modularization.
The Framework defines a unit of modularization, called a bundle. A bundle is
comprised of Java classes and other resources,
@@ -161,10 +161,8 @@
<programlisting>
Export-Package: com.acme.foo; include:="Qux*,BarImpl"; exclude:=QuxImpl
</programlisting>
- </sect2>
- <sect2>
- <title>OSGi Life Cycle Layer</title>
+ <emphasis role="bold">OSGi Life Cycle Layer</emphasis>
<para>The Life Cycle Layer provides an API to control the security and life
cycle operations of bundles.</para>
@@ -192,10 +190,7 @@
<listitem>Subscribing or unsubscribing to Famework events</listitem>
</itemizedlist>
- </sect2>
-
- <sect2>
- <title>OSGi Service Layer</title>
+ <emphasis role="bold">OSGi Service Layer</emphasis>
<para>The OSGi Service Layer defines a dynamic collaborative model that is
highly integrated with the Life Cycle Layer.
The service model is a publish, find and bind model. A service is a normal Java
object that is registered under one or more
@@ -206,151 +201,105 @@
<imagedata fileref="images/osgi-service-registration.png"/>
</imageobject>
</mediaobject>
- </sect2>
</sect1>
- <sect1>
+ <sect1 id="SecServiceCompendium">
<title>OSGi Service Compendium</title>
+
<para>The OSGi Service Compendium specifies a number of services that may be
available in an OSGi runtime environment.
Although the OSGi Framework specification is useful in itself already, it only
defines the OSGi core infrastructure.
The services defined in the compendium specification define the scope and
functionality of some common services that
bundle developers might want to use. Here is a quick summary:</para>
-
- <sect2>
- <title>Log Service</title>
- <para>The Log Service provides a general purpose message logger for the OSGi
Service Platform. It consists of two services,
- one for logging information and another for retrieving current or previously
recorded log information.</para>
- </sect2>
-
- <sect2>
- <title>Http Service</title>
- <para>The Http Service supports two standard techniques for registering
servlets and resources to develop communication and
- user interface solutions for standard technologies such as HTTP, HTML, XML,
etc.</para>
- </sect2>
- <sect2>
- <title>Device Access Specification</title>
- <para>The Device Access specification supports the coordination of automatic
detection and attachment of existing devices on
- an OSGi Service Platform, facilitates hot-plugging and -unplugging of new devices,
and downloads and installs device drivers on demand.</para>
- </sect2>
-
- <sect2>
- <title>Configuration Admin Service</title>
- <para>The Configuration Admin service allows an Operator to set the
configuration information of deployed bundles.</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/osgi-config-service.png"
contentwidth="450"/>
- </imageobject>
- </mediaobject>
- </sect2>
-
- <sect2>
- <title>Metatype Service</title>
- <para>The Metatype Service specification defines interfaces that allow bundle
developers to describe attribute
- types in a computer readable form using so-called metadata.</para>
- </sect2>
-
- <sect2>
- <title>Preferences Service</title>
- <para>The Preferences Service allows storage of data that is specific to a
particular user.</para>
- </sect2>
-
- <sect2>
- <title>User Admin Service</title>
- <para>Bundles can use the User Admin Service to authenticate an initiator and
represent this authentication as an Authorization object.
- Bundles that execute actions on behalf of this user can use the Authorization
object to verify if that user is authorized.</para>
- </sect2>
-
- <sect2>
- <title>Wire Admin Service</title>
- <para>The Wire Admin Service is an administrative service that is used to
control a wiring topology in the OSGi Service Platform.
- It is intended to be used by user interfaces or management programs that control
the wiring of services in an OSGi Service Platform.</para>
- </sect2>
-
- <sect2>
- <title>IO Connector Service</title>
- <para>The IO Connector Service specification adopts the Java 2 Micro Edition
(J2ME) javax.microedition.io packages as a basic communications
- infrastructure.</para>
- </sect2>
-
- <sect2>
- <title>UPnP Device Service</title>
- <para>The UPnP Device Service specifies how OSGi bundles can be developed
that interoperate with UPnP (Universal Plug and Play)
- devices and UPnP control points.</para>
- </sect2>
-
- <sect2>
- <title>Declarative Services Specification</title>
- <para>The Declarative Services specification addresses some of the
complications that arise when the OSGi service model is
- used for larger systems and wider deployments, such as: Startup Time, Memory
Footprint, Complexity. The service component
- model uses a declarative model for publishing, finding and binding to OSGi
services.</para>
- </sect2>
-
- <sect2>
- <title>Event Admin Service</title>
- <para>The Event Admin Service provides an inter-bundle communication
mechanism. It is based on a event publish and subscribe model, popular in many message
based systems.</para>
- </sect2>
-
- <sect2>
- <title>Deployment Admin Service</title>
- <para>The Deployment Admin Service specification, standardizes the access to
some of the responsibilities of the management agent:
- that is, the lifecycle management of interlinked resources on an OSGi Service
Platform.</para>
- </sect2>
-
- <sect2>
- <title>Auto Configuration Specification</title>
- <para>The Auto Configuration Specification is to allow the configuration of
bundles.
- These bundles can be embedded in Deployment Packages or bundles that are already
present on the OSGi Service Platform.</para>
- </sect2>
-
- <sect2>
- <title>Application Admin Service</title>
- <para>The Application Admin Service is intended to simplify the management of
an environment with many different types of applications
- that are simultaneously available.</para>
- </sect2>
-
- <sect2>
- <title>DMT Admin Service</title>
- <para>The DMT Admin Service specification defines an API for managing a
device using concepts from the OMA DM specifications.</para>
- </sect2>
-
- <sect2>
- <title>Monitor Admin Service</title>
- <para>The Monitor Admin Service specification outlines how a bundle can
publish Status Variables and how administrative bundles
- can discover Status Variables as well as read and reset their values.</para>
- </sect2>
-
- <sect2>
- <title>Foreign Application Access Specification</title>
- <para>The Foreign Application Access specification is to enable foreign
application models like MIDP, Xlets, Applets, other Java
- application models to participate in the OSGi service oriented
architecture.</para>
- </sect2>
-
- <sect2>
- <title>Service Tracker Specification</title>
- <para>The Service Tracker specification defines a utility class,
ServiceTracker, that makes tracking the registration, modification,
- and unregistration of services much easier.</para>
- </sect2>
-
- <sect2>
- <title>XML Parser Service Specification</title>
- <para>The XML Parser Service specification addresses how the classes defined
in JAXP can be used in an OSGi Service Platform.</para>
- </sect2>
-
- <sect2>
- <title>Position Specification</title>
- <para>The Position Specification provides bundle developers with a consistent
way of handling geographic positions in OSGi applications.</para>
- </sect2>
-
- <sect2>
- <title>Measurement and State Specification</title>
- <para>The Measurement and State Specification provides a consistent way of
handling a diverse range of measurements for bundle developers.</para>
- </sect2>
-
- <sect2>
- <title>Execution Environment Specification</title>
- <para>This Execution Environment Specification defines different execution
environments for OSGi Server Platform Servers.</para>
- </sect2>
+ <emphasis role="bold">Log Service</emphasis>
+ <para>The Log Service provides a general purpose message logger for the OSGi
Service Platform. It consists of two services,
+ one for logging information and another for retrieving current or previously recorded
log information.</para>
+
+ <emphasis role="bold">Http Service</emphasis>
+ <para>The Http Service supports two standard techniques for registering
servlets and resources to develop communication and
+ user interface solutions for standard technologies such as HTTP, HTML, XML,
etc.</para>
+
+ <emphasis role="bold">Device Access Specification</emphasis>
+ <para>The Device Access specification supports the coordination of automatic
detection and attachment of existing devices on
+ an OSGi Service Platform, facilitates hot-plugging and -unplugging of new devices,
and downloads and installs device drivers on demand.</para>
+
+ <emphasis role="bold">Configuration Admin Service</emphasis>
+ <para>The Configuration Admin service allows an Operator to set the
configuration information of deployed bundles.</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/osgi-config-service.png"
contentwidth="450"/>
+ </imageobject>
+ </mediaobject>
+
+ <emphasis role="bold">Metatype Service</emphasis>
+ <para>The Metatype Service specification defines interfaces that allow bundle
developers to describe attribute
+ types in a computer readable form using so-called metadata.</para>
+
+ <emphasis role="bold">Preferences Service</emphasis>
+ <para>The Preferences Service allows storage of data that is specific to a
particular user.</para>
+
+ <emphasis role="bold">User Admin Service</emphasis>
+ <para>Bundles can use the User Admin Service to authenticate an initiator and
represent this authentication as an Authorization object.
+ Bundles that execute actions on behalf of this user can use the Authorization object
to verify if that user is authorized.</para>
+
+ <emphasis role="bold">Wire Admin Service</emphasis>
+ <para>The Wire Admin Service is an administrative service that is used to
control a wiring topology in the OSGi Service Platform.
+ It is intended to be used by user interfaces or management programs that control the
wiring of services in an OSGi Service Platform.</para>
+
+ <emphasis role="bold">IO Connector Service</emphasis>
+ <para>The IO Connector Service specification adopts the Java 2 Micro Edition
(J2ME) javax.microedition.io packages as a basic communications
+ infrastructure.</para>
+
+ <emphasis role="bold">UPnP Device Service</emphasis>
+ <para>The UPnP Device Service specifies how OSGi bundles can be developed that
interoperate with UPnP (Universal Plug and Play)
+ devices and UPnP control points.</para>
+
+ <emphasis role="bold">Declarative Services
Specification</emphasis>
+ <para>The Declarative Services specification addresses some of the
complications that arise when the OSGi service model is
+ used for larger systems and wider deployments, such as: Startup Time, Memory
Footprint, Complexity. The service component
+ model uses a declarative model for publishing, finding and binding to OSGi
services.</para>
+
+ <emphasis role="bold">Event Admin Service</emphasis>
+ <para>The Event Admin Service provides an inter-bundle communication mechanism.
It is based on a event publish and subscribe model, popular in many message based
systems.</para>
+
+ <emphasis role="bold">Deployment Admin Service</emphasis>
+ <para>The Deployment Admin Service specification, standardizes the access to
some of the responsibilities of the management agent:
+ that is, the lifecycle management of interlinked resources on an OSGi Service
Platform.</para>
+
+ <emphasis role="bold">Auto Configuration
Specification</emphasis>
+ <para>The Auto Configuration Specification is to allow the configuration of
bundles.
+ These bundles can be embedded in Deployment Packages or bundles that are already
present on the OSGi Service Platform.</para>
+
+ <emphasis role="bold">Application Admin Service</emphasis>
+ <para>The Application Admin Service is intended to simplify the management of
an environment with many different types of applications
+ that are simultaneously available.</para>
+
+ <emphasis role="bold">DMT Admin Service</emphasis>
+ <para>The DMT Admin Service specification defines an API for managing a device
using concepts from the OMA DM specifications.</para>
+
+ <emphasis role="bold">Monitor Admin Service</emphasis>
+ <para>The Monitor Admin Service specification outlines how a bundle can publish
Status Variables and how administrative bundles
+ can discover Status Variables as well as read and reset their values.</para>
+
+ <emphasis role="bold">Foreign Application Access
Specification</emphasis>
+ <para>The Foreign Application Access specification is to enable foreign
application models like MIDP, Xlets, Applets, other Java
+ application models to participate in the OSGi service oriented
architecture.</para>
+
+ <emphasis role="bold">Service Tracker Specification</emphasis>
+ <para>The Service Tracker specification defines a utility class,
ServiceTracker, that makes tracking the registration, modification,
+ and unregistration of services much easier.</para>
+
+ <emphasis role="bold">XML Parser Service
Specification</emphasis>
+ <para>The XML Parser Service specification addresses how the classes defined in
JAXP can be used in an OSGi Service Platform.</para>
+
+ <emphasis role="bold">Position Specification</emphasis>
+ <para>The Position Specification provides bundle developers with a consistent
way of handling geographic positions in OSGi applications.</para>
+
+ <emphasis role="bold">Measurement and State
Specification</emphasis>
+ <para>The Measurement and State Specification provides a consistent way of
handling a diverse range of measurements for bundle developers.</para>
+
+ <emphasis role="bold">Execution Environment
Specification</emphasis>
+ <para>This Execution Environment Specification defines different execution
environments for OSGi Server Platform Servers.</para>
</sect1>
</chapter>