Konstantin probably has a better answer than I, but the simple answer is 
that your choices are either 'all', or 'opt in'.

If your new facet is something that all servers inherently support, you 
can use * in your runtime mapping so that all servers will support the 
facet immediately. If your new facet doesn't work on all servers, requires 
checking if a jar is available, or at a minimum someone needs to say "yes, 
this server supports that", then you need to use the server id static (or 
dynamic) mapping. You can create mappings for as many servers as you're 
aware of and don't need to duplicate anything, since these extension 
points can be created by a 'third-party' and included in any plugin. 
However, since someone needs to explicitly decide, there will always be 
cases where a server you didn't know about supports your facet but the 
tools don't allow it until someone adds the extension.

It's incredibly hard to create a system that can cover cases like these 
well - e.g. where you create a new facet in your adopter product and it 
should automatically work with some but not all servers in a completely 
different and unknown adopter product. If you have any suggestions on how 
to extend or improve on this, Konstantin & I are always available in 
bugzilla too.

Thanks,
Tim deBoer
[EMAIL PROTECTED]



From:
"Max Rydahl Andersen" <[EMAIL PROTECTED]>
To:
"General discussion of project-wide or architectural issues." 
<[email protected]>
Date:
09/23/2008 04:36 PM
Subject:
Re: [wtp-dev] Modelling multiple runtimes in one server



On Tue, 23 Sep 2008 20:44:18 +0200, Tim deBoer <[EMAIL PROTECTED]> wrote:

> Hi Max,
>
> Responding to your questions:
>
>> > The runtime components extension point is used in every server 
adapter
>
>> > to declare the component that represents the core application server.
>>
>> Yes, but it is not used for something *usefull* as far as I can see ;)
>
> Not unless you consider allowing users to target a facetted project to
> your server. ;) All servers need to use one mechanism or the other (or a
> combination of both) to accept standard WTP facetted projects. The 
> benefit
> of this extension is that it is simple, static, and lightweight.

They only use it to declare "yay-i can have my stuff and java stuff" 
associated with me.

My "fear" is that if I add these kind of runtimes for parts of our 
functionallity in JBoss Tools
I will no longer be able to use the runtime dependent parts on other App 
servers because they
don't declare the same runtime facilities...and then I have a bigger 
problem than what I started with
(lockin of features to JBoss AS that shouldn't require a lockin)

I could of course duplicate all major WTP server adopters and include the 
runtime support but
that will be very confusing for users.

>> > The internalRuntimeComponentProviders extension point is not used in
> WTP
>> > directly, but is used in several adopter products from different
>> > companies.
>>
>> Anyone of these with source available to see it being used ?
>
> None that I am aware of post source, and all of the server adapters
> included in WTP use the static linking above. This extension point is
> fairly straightforward to use though, and Konstantin's blog contains a
> full sample.

Yes, I understand the sample; but i'm looking to understand how these 
other vendors avoid
feature lock-in (maybe they don't care ? :)

/max

> Tim deBoer
> [EMAIL PROTECTED]
>
>
>
> From:
> "Max Rydahl Andersen" <[EMAIL PROTECTED]>
> To:
> "[EMAIL PROTECTED]" 
> <[EMAIL PROTECTED]>,
> "General discussion of project-wide or architectural issues."
> <[email protected]>
> Date:
> 09/19/2008 12:53 PM
> Subject:
> Re: [wtp-dev] Modelling multiple runtimes in one server
>
>
>
> On Fri, 19 Sep 2008 17:13:57 +0200, Konstantin Komissarchik
> <[EMAIL PROTECTED]> wrote:
>
>> The runtime components extension point is used in every server adapter
>> to declare the component that represents the core application server.
>
> Yes, but it is not used for something *usefull* as far as I can see ;)
>
>> The internalRuntimeComponentProviders extension point is not used in 
WTP
>
>> directly, but is used in several adopter products from different
>> companies.
>
> Anyone of these with source available to see it being used ?
>
> -max
>
>> Oracle
>> Konstantin Komissarchik | Consulting Member of Technical Staff
>> Phone: +1 425 201 1795 | Mobile: +1 206 898 0611
>> Oracle Eclipse Tooling
>> 411 108th Ave NE, Suite 2100 | Bellevue, WA 98004
>>
>> -----Original Message-----
>> From: Max Rydahl Andersen [mailto:[EMAIL PROTECTED]
>> Sent: Friday, September 19, 2008 12:28 AM
>> To: [EMAIL PROTECTED]; General discussion of
>> project-wide or architectural issues.
>> Subject: Re: [wtp-dev] Modelling multiple runtimes in one server
>>
>> Hi Konstantin,
>>
>> If this does what I think it does from the first readthrough and
> browsing
>> related sourcecode then
>> the faceted API just earned an extra couple of stripes! :)
>>
>> I'll follow up on the blogpost if I bump into some issues, but one 
worry
>
>> I
>> have is that *no* code in
>> WTP seem to use this extension points (except for the JavaVM
>> runtime)...is
>> it just not known and used
>> by anyone ?
>>
>> /max
>>
>>> Max,
>>>
>>> The answer that you are looking for is runtime components. Rather than
>>> answer your question fully in e-mail, I made a blog post instead. This
>>> will make it easier to google for in the future plus I understand all
>>> the cool kids are into blogs these days. :)
>>>
>>>
> 
http://lt-rider.blogspot.com/2008/09/facets-faq-supporting-modular-runtimeshtml

>
>>>
>>> Let me know if something is not clear and feel free to post questions 
/
>>> comments to the blog.
>>>
>>> Oracle
>>> Konstantin Komissarchik | Consulting Member of Technical Staff
>>> Phone: +1 425 201 1795 | Mobile: +1 206 898 0611
>>> Oracle Eclipse Tooling
>>> 411 108th Ave NE, Suite 2100 | Bellevue, WA 98004
>>>
>>> -----Original Message-----
>>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>>> On Behalf Of Max Rydahl Andersen
>>> Sent: Thursday, September 18, 2008 3:49 PM
>>> To: [email protected]
>>> Subject: [wtp-dev] Modelling multiple runtimes in one server
>>>
>>> Hi,
>>>
>>> $subject have been on my mind for a long time and I have been looking
>>> high
>>> and low for answers
>>> but I just can't get my head around how this is supposed to be done in
>>> WTP/Facets.
>>>
>>> JBoss AS is a server that you can start and stop, but such server will
>>> be
>>> able to contain multiple runtimes,
>>> i.e. J2EE, Portal, ESB, SIP-server etc. Each of these runtimes can be
>>> expressed as being able to
>>> have one or more facets enabled/disabled on it and these runtimes can
>>> all
>>> be used separatly and together.
>>>
>>> *but* I don't see how WTP support this notion. Each server can only
> have
>>> *one* runtime.
>>>
>>> The only way I can see this work is to allow *any* facet to be
> installed
>>> on JBoss AS server even though
>>> that is wrong dependent on which configuration users are activating -
>>> but
>>> that means that users can
>>> enable facets on a server that won't work if deployed....
>>>
>>> How is the facet framework supposed to be used with this ? Which
> servers
>>> are limited to only one specific runtime/deployment scenario ?
>>>
>>> --
>>> /max
>>> _______________________________________________
>>> wtp-dev mailing list
>>> [email protected]
>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>
>>> _______________________________________________
>>> wtp-dev mailing list
>>> [email protected]
>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>
>>
>>
>> --
>> /max
>>
>> _______________________________________________
>> wtp-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>
>
>



-- 
/max
_______________________________________________
wtp-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/wtp-dev


_______________________________________________
wtp-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/wtp-dev

Reply via email to