Hi Please see my last reply to Dan.
If multiple frontends are involved in a given OSGI container instance then it might be not possible. As I said, I'm supporting the proposed two properties but suggesting a possibility for a databinding one be overridden on a per-frontend basis. That said I'm ok with not considering this option until it's actually required - I reckon it will be relatively simple to fix when needed. Cheers, Sergey -----Original Message----- From: Josh Holtzman [mailto:[email protected]] Sent: 05 June 2009 22:04 To: [email protected] Subject: Re: Configuring DOSGI to use JAX-WS I think this can all be handled with just two properties: org.apache.cxf.dosgi.databinding=[ jaxb | xmlbeans | aegis (default) ] org.apache.cxf.dosgi.frontend=[ jaxws | jaxrs | simple (default) ] This way, you can just mix and match. Does that meet your needs? I haven't seen a ClientProxyFactoryBean equivalent that uses JAX-RS in the way that JaxWsProxyFactoryBean creates client proxies for JAX-WS. Is that what you're working on? Josh 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 >>> >>> >>> >>> > > -- Josh Holtzman Educational Technology Services, UC Berkeley [email protected] 510.529.9225
