cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From da...@cocoon.zones.apache.org
Subject [DAISY] Updated: The OSGi fundament
Date Mon, 22 May 2006 18:10:29 GMT
A document has been updated:

http://cocoon.zones.apache.org/daisy/documentation/1151.html

Document ID: 1151
Branch: main
Language: default
Name: The OSGi fundament (unchanged)
Document Type: Cocoon Document (unchanged)
Updated on: 5/22/06 6:10:19 PM
Updated by: Reinhard Pötz

A new version has been created, state: publish

Parts
=====
Content
-------
This part has been updated.
Mime type: text/xml (unchanged)
File name:  (unchanged)
Size: 14316 bytes (previous version: 12267 bytes)
Content diff:
(26 equal lines skipped)
    <p class="warn">Not everything implemented yet!</p>
    
    <p>First a little bit about Declarative Services (DS), that is used everywhere
--- in the design and replaces block.xml among other things in the current design.
--- </p>
+++ in the design and replaces<tt> block.xml</tt> among other things in the current
+++ design.</p>
    
    <h1>Declarative Services</h1>
    
    <p>The declarative services simplify service (component) handling in OSGi by
    making it possible to declare services and their dependencies in an XML file
--- (before service management wasn't configuration file based in OSGi). <br/>
--- The DS supports setter injection. Compared to Spring it is rather small and
--- primitive. The cool thing about it is that it support dynamic dependencies. A
--- dynamic dependency can have both a setter and an un-setter. <br/>
--- The framework also takes care of stopping and starting non-dynamic components
--- when their dependencies comes and goes.<br/>
--- The DS can be used together with a configuration service that can override the
--- default configurations in the DS XML file. The configuration service can take
--- part of the responsibility that the wiring file and deployer takes in the
--- current architecture. <br/>
--- There is not much documentation for the DS yet, so the main references are the
--- specification [1] and the documentation of the service binder [2] that was a
--- predecessor of DS.</p>
+++ (before service management wasn't configuration file based in OSGi). The DS
+++ supports setter injection. Compared to Spring it is rather small and primitive.
+++ The cool thing about it is that it support dynamic dependencies. A dynamic
+++ dependency can have both a setter and an un-setter. The framework also takes
+++ care of stopping and starting non-dynamic components when their dependencies
+++ comes and goes.</p>
    
+++ <p>The DS can be used together with a configuration service that can override
+++ the default configurations in the DS XML file. The configuration service can
+++ take part of the responsibility that the wiring file and deployer takes in the
+++ current architecture. There is not much documentation for the DS yet, so the
+++ main references are the specification [1] and the documentation of the service
+++ binder [2] that was a predecessor of DS.</p>
+++ 
    <h1>The dispatcher</h1>
    
    <p>The role of the dispatcher (ServletRegistrationActivator) is that the blocks
(4 equal lines skipped)
    A HTTP service implementation normally contains a HTTP server. But an
    alternative for embedding OSGi managed servlets in a servlet container is to use
    a HTTP service that acts as a bridge to the embedding servlet container. [3]
--- <br/>
--- It is also inconvenient to require the servlets to lookup the HTTP service. It
--- is better to use the whiteboard pattern [4], and just register the servlets as
--- services and have a component that reacts on the appearance and disappearance of
--- servlet services, and register and unregister them in the HTTP service
+++ </p>
+++ 
+++ <p>It is also inconvenient to require the servlets to lookup the HTTP service.
+++ It is better to use the whiteboard pattern [4], and just register the servlets
+++ as services and have a component that reacts on the appearance and disappearance
+++ of servlet services, and register and unregister them in the HTTP service
    respectively.</p>
    
    <p>Using DS a declaration (which is referred to by the Service-Component
(181 equal lines skipped)
    reimplemented the block source as an URLConnection that is registered as a
    protocol and can be used like in [9] (still buggy code).</p>
    
+++ <h1>Links</h1>
+++ 
+++ <p>[1] OSGI R4 specification
+++ <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">http://www.osgi.org/osgi_technology/download_specs.asp?section=2</a>
+++ <br/>
+++ [2] Service binder
+++ <a href="http://gravity.sourceforge.net/servicebinder/">http://gravity.sourceforge.net/servicebinder/</a>
+++ <br/>
+++ [3] Servlet container embedding
+++ <a href="http://www.eclipse.org/equinox/incubator/server/embedding_in_a_servlet_container.php">http://www.eclipse.org/equinox/incubator/server/embedding_in_a_servlet_container.php</a>
+++ <br/>
+++ [4] Whiteboard pattern
+++ <a href="http://www.osgi.org/documents/osgi_technology/whiteboard.pdf">http://www.osgi.org/documents/osgi_technology/whiteboard.pdf</a>
+++ <br/>
+++ [5]
+++ <a href="http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml">http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml</a>
+++ <br/>
+++ [6]
+++ <a href="http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java">http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java</a>
+++ <br/>
+++ [7] The bridge was part of cocoon-core in package o.a.c.core.osgi, Reinhard
+++ moved it to the whiteboard, but the code seem to have disappeared on its way.
+++ <br/>
+++ [8] Obsolete description of the sitemap blocks that contain an explanation of
+++ how polymorphism is implemented
+++ <a href="http://marc.theaimsgroup.com/?l=xml-cocoon-dev&amp;m=111791016006393&amp;w=2">http://marc.theaimsgroup.com/?l=xml-cocoon-dev&amp;m=111791016006393&amp;w=2</a>
+++ <br/>
+++ [9]
+++ <a href="http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/TestServlet2.java">http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/TestServlet2.java</a>
+++ </p>
+++ 
    </body>
    </html>


Fields
======
no changes

Links
=====
no changes

Custom Fields
=============
no changes

Collections
===========
no changes

Mime
View raw message