Hi Vincent,

Nice hearing that you are interested in this topic.

Well, let's discuss a little bit about intents and configs. First of all, I
think you are right. I mean, as far as I know, intents are, as you said, a
vendor-agnostic way to configure how a service should be exported. The
concept of intents was borrowed from SCA. The objective is to establish a
vocabulary between service providers and distribution providers which can be
used to communicate aspects usually related to the distribution support. For
example, we could use intents like “propagatesTransaction” and
“authentication” to say to the distribution provider that we expect our
service to be provided in the context of a transaction and that we require
an authentication mechanism to be used. As you can see here, we don't give
details about how to implement those intents. The distribution provider will
itself interpret the intents and determine how it will implement them.

However this is not the end of the story... To export a service, a
Distribution Provider should create and configure endpoints which will be
accessible through the network. Different "kinds of" endpoints are
configured in different ways, but the configuration data usually includes
host, port and protocols. To configure this kind of stuff we use
"Configuration Types" (configs). Maybe it would be better to use a concrete
example...

Suppose that I create a service and configute it using the following
metadata:

// This metadata says that the Distribution Provider should:
// 1. Enable access to the service through SOAP
// 2. Log the correspoding requests
service.exported.intents = SOAP, logging

// This metadata says that the Distribution Provider should use a
configuration named org.apache.cxf.ws to create an endpoint
// This configuration is known by CXF/DOSGi only (it is vendor specific)
service.exported.configs = org.apache.cxf.ws
// However, just the name of a configuration is not enough. I mean, through
that name the distribution provider should realize that I want to enable
access // to the service using a Web Service endpoint, but what is the
address of this endpoint???
// The following metadata completes the org.apache.cxf.ws configuration type
and provides more information that is required to create and configure the
// corresponding endpoint
org.apache.cxf.ws.address = http://localhost:9099/agenciaBBC

Well, I hope that this can help a bit...

Cheers,

Fábio










On Wed, Nov 10, 2010 at 9:39 AM, vgirardreydet <
[email protected]> wrote:

>
> Hi Fabio,
>
> I'm interested in helping on that topic, as I need a correct intents
> support
> too.
>
> I have a question before. What's the difference between intents and config
> ?
> My understanding is that intents are a vendor-agnostic way to configure how
> a service should be exported, while service.exported.configs is the
> vendor-specific way of specifying. Am I correct ? Would it be true then to
> say that to expose a service in SOAP/HTTP, I can either use the "SOAP"
> intent or use the "services.exported.configs=org.apache.cxf.ws" property ?
>
> Thanks,
>
> Vincent
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/DOSGi-Intents-map-tp3238843p3258586.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>



-- 
Fábio

Reply via email to