[ 
http://jira.amdatu.org/jira/browse/AMDATU-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868#comment-12868
 ] 

Marcel Offermans commented on AMDATU-599:
-----------------------------------------

Historically, there is also the "ace-repository-provider-filebased", which was 
a shortcut we initially took when building the server. It has more or less 
similar limitations to the Ant task. From its JavaDoc:

{code}
/**
 * This class reads data from the filesystem. It contains deployment data in 
the following format: <storage dir>/<target-name>/<bundle-version>/<jars>
 * example : storage-directory/ storage-directory/target-a 
storage-directory/target-a/1.0.0
 * storage-directory/target-a/1.0.0/bundle1.jar 
storage-directory/target-a/1.0.0/bundle2.jar storage-directory/target-a/1.1.0
 * storage-directory/target-a/1.1.0/bundle2.jar 
storage-directory/target-a/1.1.0/bundle3.jar The versions are in the
 * org.osgi.framework.Version format.
 */
public class FileBasedProvider implements DeploymentProvider, ManagedService {
{code}

There are a couple of things to explore before starting a design:
* The most basic version of such a service would literally build deployment 
packages based on artifacts and metadata that you feed it, focussing only on 
building a deployment package from that metadata. It would be the 
responsibility of the caller to provide all artifacts, their mime types, the 
correct resource processors for them and make sure they're ordered correctly 
within the stream.
* A more advanced version could be "smart" by leveraging the ArtifactHelper and 
ArtifactRecognizer in ACE, both of which are used to recognize artifacts and 
make sure that eventually the right resource processor ends up in the 
deployment package. This would make life more convenient for the caller.
* In essence, this is what the ACE server does, and both the definition of the 
deployment package and the "extraction" of it are now fully REST controllable. 
An option therefore would be to simply launch an ACE server, feed it the 
artifacts and extract the deployment package on the other end. A potential 
downside is that this might not be the quickest way (but we can probably make 
the server more lightweight by a) removing some features we don't need in this 
scenario and b) selecting more lightweight implementations for others (thinking 
about replacing Jetty with the more lightweight HTTP server in Felix for 
example).
                
> Create DeploymentPackage generator
> ----------------------------------
>
>                 Key: AMDATU-599
>                 URL: http://jira.amdatu.org/jira/browse/AMDATU-599
>             Project: Amdatu
>          Issue Type: Task
>            Reporter: Bram de Kruijff
>             Fix For: Backlog
>
>
> There are many cases where it may be handy to be able to generate 
> DeploymentPackage which are the basis for provisioning. Unfortunatly, ACE 
> only provides a streaming implementation coupled to ACE/OSGi and an ANT task 
> that only supports bundles and is coupled to ANT.
> Therefore it seems wise to create a DeploymentPackage "generator" 
> library/service that can re-reused. Sample use cases are:
> * Creating DeploymentPackage artifacts from any build ANT/Maven
> * Creating DeploymentPackages on the fly in integration test cases 
> (AMDATU-591)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
http://jira.amdatu.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to