Would it make more sense to just have two keys:

org.apache.cxf.dosgi.databinding
org.apache.cxf.dosgi.frontend

that instead of being booleans, would be strings that defined what to use.   
"jaxb"/"aegis" (maybe sdo or xmlbeans in the future?) or 
"simple"/"jaxws"/"jaxrs".

Certainly more extensible going forward.

Dan



On Fri June 5 2009 4:46:13 pm Sergey Beryozkin wrote:
> Hi,
>
> I'm planning to integrate JAX-RS runtime into a DOSGi as well.
>
> One can consider that
>
> org.apache.cxf.dosgi.frontend.simple
>
> is a default property.
>
> org.apache.cxf.dosgi.frontend.jaxws
>
> would cause a jaxws frontend be used.
>
> Perhaps
>
> org.apache.cxf.dosgi.frontend.jaxrs
>
> can indicate that JAX-RS should be used.
>
> Now both jaxws and jaxrs can use JAXB, and as Dan said even simple
> frontend can use JAXB. And all of them can use Aegis
>
> So as far as databinding is concerned, should it be rather
>
> org.apache.cxf.dosgi.frontend.jaxws.databinding.jaxb
> org.apache.cxf.dosgi.frontend.jaxws.databinding.xmlbeans
>
> org.apache.cxf.dosgi.frontend.simple.databinding.jaxb
> org.apache.cxf.dosgi.frontend.simple.databinding.aegis (default)
>
> org.apache.cxf.dosgi.frontend.jaxrs.databinding.jaxb
> org.apache.cxf.dosgi.frontend.jaxrs.databinding.aegis
>
> etc
>
> so that a databinding can be applied selectively, on a per-frontend
> basis ?
>
> May be properties like org.apache.cxf.dosgi.databinding.jaxb can serve
> as a global property which has to apply to all frontends, that is if is
> is set then even a simple frontend should use JAXB, but a property like
>
>
> org.apache.cxf.dosgi.frontend.simple.databinding.aegis
>
> can be used to override it
>
> cheers, Sergey
>
>
> -----Original Message-----
> From: Josh Holtzman [mailto:[email protected]]
> Sent: 05 June 2009 21:30
> To: [email protected]
> Subject: Re: Configuring DOSGI to use JAX-WS
>
> I'm the confused one :)  I was conflating the two.  Daniel Kulp pointed
> this out in the Jira ticket, and I've changed the patch so it now
> watches for two properties: org.apache.cxf.dosgi.databinding.jaxb and
> org.apache.cxf.dosgi.frontend.jaxws.  If the first is true, the jaxb
> databinding is used instead of aegis.  If the second property is true,
> the jaxws frontend is used rather than the simple frontend.
>
> Josh
>
> Benson Margulies wrote:
> > I'm confused. Generally, it's Aegis versus JAX-B and Simple versus
> > JAX-WS. Are you really replacing Simple with JAX-WS, or are you
> > replacing both?
> >
> > On Fri, Jun 5, 2009 at 2:13 PM, Josh Holtzman <[email protected]>
>
> wrote:
> >> I'm finally coming back to looking at this issue.  I've added a Jira
>
> and a
>
> >> patch at https://issues.apache.org/jira/browse/CXF-2252
> >>
> >> Let me know if there's anything I can do to clean up the patch.
>
> Since the
>
> >> current Aegis databinding remains the default, I'm hoping that this
>
> patch
>
> >> can be merged without causing any problems.
> >>
> >> Thanks,
> >> Josh
> >>
> >> Josh Holtzman wrote:
> >>> Right.  In the SOA world, the WSDL is the service contract.  In the
>
> Java
>
> >>> world, the interface is the service contract.  I therefore see no
>
> problem
>
> >>> using JAX-WS annotations on the Java interfaces, since they describe
>
> how to
>
> >>> translate between Java and WSDL.
> >>>
> >>> Thanks,
> >>> Josh
> >>>
> >>> Eoghan Glynn wrote:
> >>>> Sorry Josh, I didn't notice your response before replying to
>
> Sergey.
>
> >>>> So in your case, it wouldn't actually be an issue that the JAX-WS
> >>>> annotations were present on the OSGi service class?
> >>>>
> >>>> Cheers,
> >>>> Eoghan
> >>>>
> >>>> 2009/5/12 Josh Holtzman <[email protected]>:
> >>>>> Hi Eoghan,
> >>>>> Yes, it would most likely require JAX-WS annotations on the
>
> service
>
> >>>>> interfaces rather than the impl classes, but IMHO it doesn't break
>
> the
>
> >>>>> OSGI
> >>>>> service model.  Perhaps I should explain my use case.
> >>>>>
> >>>>> We are building an open source system that must be able to operate
>
> in
>
> >>>>> both a
> >>>>> co-located (one JVM) and distributed topology.  For the co-located
> >>>>> flavor,
> >>>>> we don't want to incur the overhead of web service
>
> serialization... we
>
> >>>>> want
> >>>>> direct access to the java services as they were published to the
>
> OSGI
>
> >>>>> service registry.  For the distributed topology, we want to allow
> >>>>> adopting
> >>>>> institutions to swap out individual services for their own
> >>>>> implementations
> >>>>> in other languages.  And finally, we want our service clients to
>
> be
>
> >>>>> ignorant
> >>>>> of the current topology.  Service developers should enable their
> >>>>> services to
> >>>>> be available remotely (by publishing with the osgi.remote property
>
> and
>
> >>>>> using
> >>>>> JAX-WS annotations), but should not necessarily expect the
>
> services to
>
> >>>>> be
> >>>>> remote.
> >>>>>
> >>>>> Providing a JAX-WS configuration option shouldn't impact folks
>
> wanting
>
> >>>>> to
> >>>>> stick with aegis/simple.  But it does allow projects that want all
>
> of
>
> >>>>> the
> >>>>> benefits of DOSGI to make their web service contracts usable
>
> outside of
>
> >>>>> the
> >>>>> CXF world.
> >>>>>
> >>>>> Thanks,
> >>>>> Josh
> >>>>>
> >>>>> Eoghan Glynn wrote:
> >>>>>> Hi Josh,
> >>>>>>
> >>>>>> I'm not entirely sold on the desirability of using JAX-WS with
>
> dOSGi.
>
> >>>>>> Wouldn't this require that the original OSGi service class was
> >>>>>> annotated with @WebService, @WebMethod etc?
> >>>>>>
> >>>>>> And wouldn't this defeat the whole purpose of dOSGi in a sense?
>
> i.e.
>
> >>>>>> if the remotability isn't enabled transparently on a largely
>
> unchanged
>
> >>>>>> OSGi application, why not just write a straight JAX-WS
>
> server-side
>
> >>>>>> application from the get-go?
> >>>>>>
> >>>>>> Sorry if I'm slightly missing the point here. I just wanted to
>
> think
>
> >>>>>> through the implications of using a databinding/frontend that's
>
> more
>
> >>>>>> intrusive than Aegis/simple.
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Eoghan
> >>>>>>
> >>>>>> 2009/5/11 Josh Holtzman <[email protected]>:
> >>>>>>> I just read David Bosschaert's blog entry [1] addressing
>
> questions
>
> >>>>>>> about
> >>>>>>> his
> >>>>>>> RFC 119 webinar.  One of his answers sparked another question,
>
> and
>
> >>>>>>> rather
> >>>>>>> than contact him directly, I decided to give the wider CXF
>
> community a
>
> >>>>>>> crack
> >>>>>>> at it.
> >>>>>>>
> >>>>>>> I'd like to have the option to specify which databinding
>
> strategy to
>
> >>>>>>> use
> >>>>>>> with DOSGI.  Currently, the Aegis databinding is "hard wired".
>
> I
>
> >>>>>>> recognize
> >>>>>>> that this makes sense for most use cases, since it relieves the
> >>>>>>> developer
> >>>>>>> from any wsdl or xsd responsibilities.  But it doesn't make
>
> sense for
>
> >>>>>>> cross-platform use cases (which, interestingly, David mentions
>
> right
>
> >>>>>>> after
> >>>>>>> the question "Why don't you use JaxWS?").
> >>>>>>>
> >>>>>>> The default wsdls produced by the Aegis databinding are not
>
> easily
>
> >>>>>>> usable
> >>>>>>> cross-platform.  I wouldn't want to provide a developer with a
>
> wsdl
>
> >>>>>>> that
> >>>>>>> specifies arg0, arg1, and arg2 as argument names, for example.
> >>>>>>>
> >>>>>>> Is there interest in allowing the databinding strategy to be
> >>>>>>> configurable
> >>>>>>> in
> >>>>>>> the DOSGI reference implementation?  If so, I'd be happy to work
>
> on a
>
> >>>>>>> patch.
> >>>>>>>
> >>>>>>> [1]
>
> http://coderthoughts.blogspot.com/2009/05/questions-from-rfc-119-webinar
> .html
>
> >>>>>>> Thanks,
> >>>>>>> Josh
> >>>>>>>
> >>>>>>> --
> >>>>>>> Josh Holtzman
> >>>>>>> Educational Technology Services, UC Berkeley
> >>>>>>> [email protected]
> >>>>>>> 510.529.9225
> >>>>>
> >>>>> --
> >>>>> Josh Holtzman
> >>>>> Educational Technology Services, UC Berkeley
> >>>>> [email protected]
> >>>>> 510.529.9225
> >>
> >> --
> >> Josh Holtzman
> >> Educational Technology Services, UC Berkeley
> >> [email protected]
> >> 510.529.9225

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to