Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Service Component Architecture (SCA) Tools » Changing the wiring when deploying SCA application
Changing the wiring when deploying SCA application [message #502643] Wed, 09 December 2009 09:23 Go to next message
Eclipse User
Originally posted by: michael.gebhart.googlemail.com

Hi,

I have the following situation: I have a SCA application with two
components A and B. A uses B, thus B provides and A requires a service.

Assembly[A->B]

Now the application is deployed within an application landscape. Here a
service C similar to B already exists. This service C is supposed to be
used instead of the service B.

For example a person management system. B is PersonService with
PersonServiceComponent and within the application landscape where the
SCA application is deployed, a person management system already exists
with a service C providing the same functionality as B.

How can I change the wiring within the SCA application to use an
external service C instead of the internal service B during the deployment?

Do I need an Enterprise Serivce Bus for this purpose? I.e.: Is service
B, even though it is inernal only available to be plugged at an ESB? Or
can services only be plugged at an ESB when the service is external at
the SCA assembly?

Can I change the wiring by changing configuration files?

Best regards

Michael
Re: Changing the wiring when deploying SCA application [message #502987 is a reply to message #502643] Thu, 10 December 2009 14:16 Go to previous message
Vincent Zurczak is currently offline Vincent Zurczak
Messages: 140
Registered: July 2009
Senior Member
Hi Mickael,


Michael Gebhart a écrit :
> Hi,
>
> I have the following situation: I have a SCA application with two
> components A and B. A uses B, thus B provides and A requires a service.
>
> Assembly[A->B]
>
> Now the application is deployed within an application landscape. Here a
> service C similar to B already exists. This service C is supposed to be
> used instead of the service B.

At this point, this is ambiguous.
First, you mention A and B are components. And then, B becomes a service.

A component may have several services, not just one in all cases.
And you did not specify whether A and B were in the same composite.


>
> For example a person management system. B is PersonService with
> PersonServiceComponent and within the application landscape where the
> SCA application is deployed, a person management system already exists
> with a service C providing the same functionality as B.
>
> How can I change the wiring within the SCA application to use an
> external service C instead of the internal service B during the deployment?

It depends on the runtime and the different cases to consider.
A runtime like OW2 FraSCAti allows (theoretically) to reconfigure at
runtime a deployed composite. But this feature is experimental and only
used in Research projects.

I don't know if Apache Tuscany or any other SCA runtime allows this.

If you consider A and B as components, that is to say modify what is
inside the composite, the answer completly relies on the SCA runtime, as
mentionned above.

If you want something which is dynamic, you have to use a reference.
In the case where other composites (in the same SCA domain) provide the
required service (exposes the same interface), then the container can
resolve it dynamically.

If the referenced service is external, the URI must be hard-coded. For a
dynamic approach, this URI should point to a proxy. In this case, you
can indeed consider to use an ESB, which provides interface resolution
and thus will act as a proxy. This somehow what OW2 Petals does. It can
execute SCA applications (it has a module based on OW2 FraSCAti) and can
reference any service in the bus. The service resolution is made by the bus.

Eventually, another solution for a dynamic approach, would be to have a
component in your SCA application, which contacts a repository and
resolve the service for you. But this something the current available
platforms won't handle for you.

It all depends on the usage (where and for who) of SCA.


> Can I change the wiring by changing configuration files?

Like I said, and as far as I know, only one native SCA runtime allows
this, and this is not a published feature. You have to rely on
references (and potentially proxys) to have something equivalent.

Regards,

Vincent.
Re: Changing the wiring when deploying SCA application [message #576763 is a reply to message #502643] Thu, 10 December 2009 14:16 Go to previous message
Vincent Zurczak is currently offline Vincent Zurczak
Messages: 140
Registered: July 2009
Senior Member
Hi Mickael,


Michael Gebhart a écrit :
> Hi,
>
> I have the following situation: I have a SCA application with two
> components A and B. A uses B, thus B provides and A requires a service.
>
> Assembly[A->B]
>
> Now the application is deployed within an application landscape. Here a
> service C similar to B already exists. This service C is supposed to be
> used instead of the service B.

At this point, this is ambiguous.
First, you mention A and B are components. And then, B becomes a service.

A component may have several services, not just one in all cases.
And you did not specify whether A and B were in the same composite.


>
> For example a person management system. B is PersonService with
> PersonServiceComponent and within the application landscape where the
> SCA application is deployed, a person management system already exists
> with a service C providing the same functionality as B.
>
> How can I change the wiring within the SCA application to use an
> external service C instead of the internal service B during the deployment?

It depends on the runtime and the different cases to consider.
A runtime like OW2 FraSCAti allows (theoretically) to reconfigure at
runtime a deployed composite. But this feature is experimental and only
used in Research projects.

I don't know if Apache Tuscany or any other SCA runtime allows this.

If you consider A and B as components, that is to say modify what is
inside the composite, the answer completly relies on the SCA runtime, as
mentionned above.

If you want something which is dynamic, you have to use a reference.
In the case where other composites (in the same SCA domain) provide the
required service (exposes the same interface), then the container can
resolve it dynamically.

If the referenced service is external, the URI must be hard-coded. For a
dynamic approach, this URI should point to a proxy. In this case, you
can indeed consider to use an ESB, which provides interface resolution
and thus will act as a proxy. This somehow what OW2 Petals does. It can
execute SCA applications (it has a module based on OW2 FraSCAti) and can
reference any service in the bus. The service resolution is made by the bus.

Eventually, another solution for a dynamic approach, would be to have a
component in your SCA application, which contacts a repository and
resolve the service for you. But this something the current available
platforms won't handle for you.

It all depends on the usage (where and for who) of SCA.


> Can I change the wiring by changing configuration files?

Like I said, and as far as I know, only one native SCA runtime allows
this, and this is not a published feature. You have to rely on
references (and potentially proxys) to have something equivalent.

Regards,

Vincent.
Previous Topic:Changing the wiring when deploying SCA application
Next Topic:simple example wont work with 1.5.1 - help required
Goto Forum:
  


Current Time: Sun Sep 21 16:19:06 GMT 2014

Powered by FUDForum. Page generated in 0.02045 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software