karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Uwe Barthel <bart...@x-reizend.de>
Subject Re: [PROPOSAL] Karaf Boot roadmap
Date Thu, 12 May 2016 06:33:34 GMT
Hi all,

+1 sounds good to me too.

And +1 for a dev guide with the boot one and the non-boot way.

--  barthel


> On 12 May 2016, at 08:29, Achim Nierbeck <bcanhome@googlemail.com> wrote:
> 
> sounds good to me jb
> so go ahead :)
> 
> regards, Achim
> 
> 2016-05-12 8:20 GMT+02:00 Sobkowiak Krzysztof <krzys.sobkowiak@gmail.com>:
> 
>> It's nice the boot theme goes forward. +1 for all points. Especially
>> waiting for the new dev guide.  I think the guide should provide the both
>> ways - the boot one and the non-boot way.
>> 
>> Regards
>> Krzysztof
>> 
>> On 11.05.2016 17:04, Jean-Baptiste Onofré wrote:
>>> Hi all,
>>> 
>>> Karaf Boot code is now on the Apache Git:
>>> 
>>> https://git.apache.org/karaf-boot.git/
>>> 
>>> with the github mirror:
>>> 
>>> https://github.com/apache/karaf-boot
>>> 
>>> I created the component in Jira.
>>> 
>>> I will update the website with karaf-boot description.
>>> 
>>> I propose the following roadmap for karaf-boot, heading to the first 1.0
>> release:
>>> 
>>> 1. Bootstrapping
>>> ----------------
>>> As a reminder, karaf-boot has two goals:
>>> - simplify the way to create module and application for developers
>>> - simplify the bootstrapping as a "standalone" application (leveraging
>> the container feature)
>>> 
>>> Currently, we mostly address the first point. Our starters provide
>> annotations allowing to easily create application. The
>> karaf-boot-maven-plugin "calls" the annotation processor in the starters,
>> and other plugins behind the hood to easily generate artifacts.
>>> 
>>> Now, we have to address the second point: bootstrapping. I started a PoC
>> on that.
>>> I created new starters for bootstrapping:
>>> - karaf-boot-starter-feature creates a feature using the dependencies
>> and project artifact
>>> - karaf-boot-starter-distribution creates both zip and tar.gz Karaf
>> custom distribution embedding the current project artifact and dependencies
>>> - karaf-boot-starter-distribution-rjar is similar to distribution, but
>> it's a runnable jar (using a custom Main)
>>> - karaf-boot-starter-docker creates a docker image embedding the custom
>> distribution
>>> 
>>> Now, the karaf-boot-maven-plugin is checking the dependencies to find
>> one of these bootstrap starter, and react accordingly.
>>> However, most of the logic is in the plugin, leveraging
>> karaf-maven-plugin (assembly and archive goals for instance).
>>> If this approach works (and is easy), I don't think it's the most
>> elegant way.
>>> I think we should create a @bootstrap annotation on a Runnable class in
>> the bootstrap starters. The annotated class is responsible of the bootstrap
>> artifact creation. An abstract bootstrap starter provide an annotation
>> processor that look for @bootstrap annotation and run the class in a
>> thread. The karaf-boot-maven-plugin just delegates the bootstrapping to the
>> starter.
>>> 
>>> WDYT ?
>>> 
>>> 2. New starters
>>> ---------------
>>> We have to extend the coverage of the starter to address more use cases.
>> I'm thinking about starters for test (both utest and itest leveraging
>> pax-exam), for jaas, for management/MBean, for eventadmin, for decanter,
>> for camel, etc.
>>> 
>>> 3. New samples
>>> --------------
>>> Related to 2, each new starter should have a corresponding sample. The
>> samples are really important as it's where the users start.
>>> 
>>> We should also provide kind of full application use case, multi-module.
>> I started this showing how to use different starters in different modules
>> (like a Logo construction set).
>>> 
>>> 4. Documentation and Karaf Dev Guide
>>> ------------------------------------
>>> The "new" Karaf Dev guide will be based mostly on karaf-boot. A second
>> section ("advanced") can still address non karaf-boot cases.
>>> 
>>> Thoughts ?
>>> 
>>> Regards
>>> JB
>> 
>> --
>> Krzysztof Sobkowiak
>> 
>> JEE & OSS Architect, Integration Architect
>> Apache Software Foundation Member (http://apache.org/)
>> Apache ServiceMix Committer & PMC Member (http://servicemix.apache.org/)
>> Senior Solution Architect @ Capgemini SSC (
>> http://www.capgeminisoftware.pl/)
>> 
> 
> 
> 
> -- 
> 
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
> 
> Software Architect / Project Manager / Scrum Master


Mime
View raw message