Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Service Oriented Architecture Tools Platform (STP) » Reusing SCA Service Implementations
Reusing SCA Service Implementations [message #620092] Wed, 01 October 2008 11:59 Go to next message
Eclipse UserFriend
Originally posted by: michael.gebhart.googlemail.com

Hi,

when using the SCA editor to create my service architecture, I can
easily implement services. I can write a java class and set it as the
implementation of a component.

My question is: Can I only use this implementation within a SCA runtime?
We have a typical application server running and don't wanna provide a
SCA runtime. But we'd like to use SCA for modeling the architecture.

Or do we have to manually adapt the implementation that it works within
a typical WS-compliant java application server?

Is the SCA way an alternative for the usual web service programming? Is
it still necessary to write the web services as we have done it before?
(Using JAX-WS etc.)

Greetings

Michael
Re: Reusing SCA Service Implementations [message #620095 is a reply to message #620092] Wed, 01 October 2008 12:02 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: atoulme.intalio.com

Michael,

anything SCA related should be posted to the SCa newsgroup, that I added
to the to: list of this message.

If your message is both relevant to STP and SCA, you can send a message
to both newsgroups.

I hope it helps.

Antoine

Michael Gebhart wrote:
> Hi,
>
> when using the SCA editor to create my service architecture, I can
> easily implement services. I can write a java class and set it as the
> implementation of a component.
>
> My question is: Can I only use this implementation within a SCA runtime?
> We have a typical application server running and don't wanna provide a
> SCA runtime. But we'd like to use SCA for modeling the architecture.
>
> Or do we have to manually adapt the implementation that it works within
> a typical WS-compliant java application server?
>
> Is the SCA way an alternative for the usual web service programming? Is
> it still necessary to write the web services as we have done it before?
> (Using JAX-WS etc.)
>
> Greetings
>
> Michael
Re: Reusing SCA Service Implementations [message #620096 is a reply to message #620092] Wed, 01 October 2008 12:48 Go to previous messageGo to next message
Mickael Istria is currently offline Mickael IstriaFriend
Messages: 865
Registered: July 2009
Location: Grenoble, France
Senior Member

Hi Michael, all

Michael Gebhart a écrit :
> Hi,
>
> when using the SCA editor to create my service architecture, I can
> easily implement services. I can write a java class and set it as the
> implementation of a component.

Yes, it is easy to design composites and write implementations for
components with SCA editor.


> My question is: Can I only use this implementation within a SCA runtime?
> We have a typical application server running and don't wanna provide a
> SCA runtime. But we'd like to use SCA for modeling the architecture.

I think that the implementation you wrote does not depend on SCA
runtime, it only depends on SCA annotations (@Reference, @Property...),
but those annotation don't change your class logic, thus you can use
your classes out of SCA context (but you'll have to provide the jar
containing SCA references to resolve annotations).

But the question that comes to me ie "why don't you use a SCA runtime?".
I understand that there may be conflicts because with some
applications server, but it is worse trying...


> Or do we have to manually adapt the implementation that it works within
> a typical WS-compliant java application server?

I can't help you on this topic.


> Is the SCA way an alternative for the usual web service programming? Is
> it still necessary to write the web services as we have done it before?
> (Using JAX-WS etc.)

SCA is an alternative for generic (Java-friendly) service programming. I
often use it to expose WebServices simply by creating a java component
that exposes its service through a binding.ws, and it works quite well
without brainstorming:

<composite ...>
<component name="myComponent">
<implementation.java class="package.ServiceImpl" />
<service name="myService">
<interface.java interface="package.IService" />
<binding.ws uri="http://localhost:8081/endpoint" />
</service>
</component>
</composite>


Then, you have a web service published on localhost:8081/endpoint, and
your SCA runtime made everything necessary to get it working, you simply
wrote the composite, the interface, and the implementation (only
business code)


> Greetings
>
> Michael

Regards,
Mickael
Re: Reusing SCA Service Implementations [message #620097 is a reply to message #620096] Wed, 01 October 2008 12:49 Go to previous messageGo to next message
Mickael Istria is currently offline Mickael IstriaFriend
Messages: 865
Registered: July 2009
Location: Grenoble, France
Senior Member

Oops,

I clicked "Reply" without checking the forum.
Sorry for the spam...

Mickael

Mickael Istria a écrit :
> Hi Michael, all
>
> Michael Gebhart a écrit :
>> Hi,
>>
>> when using the SCA editor to create my service architecture, I can
>> easily implement services. I can write a java class and set it as the
>> implementation of a component.
>
> Yes, it is easy to design composites and write implementations for
> components with SCA editor.
>
>
>> My question is: Can I only use this implementation within a SCA
>> runtime? We have a typical application server running and don't wanna
>> provide a SCA runtime. But we'd like to use SCA for modeling the
>> architecture.
>
> I think that the implementation you wrote does not depend on SCA
> runtime, it only depends on SCA annotations (@Reference, @Property...),
> but those annotation don't change your class logic, thus you can use
> your classes out of SCA context (but you'll have to provide the jar
> containing SCA references to resolve annotations).
>
> But the question that comes to me ie "why don't you use a SCA runtime?".
> I understand that there may be conflicts because with some applications
> server, but it is worse trying...
>
>
>> Or do we have to manually adapt the implementation that it works
>> within a typical WS-compliant java application server?
>
> I can't help you on this topic.
>
>
>> Is the SCA way an alternative for the usual web service programming?
>> Is it still necessary to write the web services as we have done it
>> before? (Using JAX-WS etc.)
>
> SCA is an alternative for generic (Java-friendly) service programming. I
> often use it to expose WebServices simply by creating a java component
> that exposes its service through a binding.ws, and it works quite well
> without brainstorming:
>
> <composite ...>
> <component name="myComponent">
> <implementation.java class="package.ServiceImpl" />
> <service name="myService">
> <interface.java interface="package.IService" />
> <binding.ws uri="http://localhost:8081/endpoint" />
> </service>
> </component>
> </composite>
>
>
> Then, you have a web service published on localhost:8081/endpoint, and
> your SCA runtime made everything necessary to get it working, you simply
> wrote the composite, the interface, and the implementation (only
> business code)
>
>
>> Greetings
>>
>> Michael
>
> Regards,
> Mickael
Re: Reusing SCA Service Implementations [message #620098 is a reply to message #620095] Wed, 01 October 2008 13:27 Go to previous messageGo to next message
Stephane Drapeau is currently offline Stephane DrapeauFriend
Messages: 199
Registered: July 2009
Senior Member
Hi Michael,

>
> Michael Gebhart wrote:
>> Hi,
>>
>> when using the SCA editor to create my service architecture, I can
>> easily implement services. I can write a java class and set it as the
>> implementation of a component.
>>
>> My question is: Can I only use this implementation within a SCA runtime?

No. Your implementation doesn't depend on an particular SCA runtime.
There is only a dependance with the SCA annotations (for instance
@Remotable is necessary if you want to use a WS binding)

>> We have a typical application server running and don't wanna provide a
>> SCA runtime. But we'd like to use SCA for modeling the architecture.

Yep, I think that the SCA Designer is a great tool for modeling the
architecture. ;)
But, what a pity that you don't use an SCA runtime... ;)

>>
>> Or do we have to manually adapt the implementation that it works within
>> a typical WS-compliant java application server?

I don't believe it. The service that you wrote for your SCA assembly
contains only business logic.

>>
>> Is the SCA way an alternative for the usual web service programming? Is
>> it still necessary to write the web services as we have done it before?
>> (Using JAX-WS etc.)

No. You only need to define a web service binding in your SCA assembly
file. The SCA runtime will generate the wsdl file for the service.

Below a sample:

The interface:
package helloworld;
import org.osoa.sca.annotations.Remotable;
@Remotable
public interface HelloWorld {
String sayHello(String name);
}

The implementation:
package helloworld;
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String name) {
return "Hello " + name;
}
}

Teh SCA assembly file:
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:c="http://helloworld"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" name="helloworld"
targetNamespace="http://helloworld">
<component name="HelloWorldComponent">
<implementation.java class="helloworld.HelloWorldImpl"/>
<service name="HelloWorld">
<binding.ws uri="http://localhost:8080/HelloWorld"/>
</service>
</component>
</composite>

A class to run the SCA assembly with Tuscany:
package helloworld;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.tuscany.sca.host.embedded.SCADomain;
public class Client {
public static void main(String[] args) throws Exception {
SCADomain scaDomain = SCADomain.newInstance("helloworld.composite");
HelloWorld hw = scaDomain.getService(HelloWorld.class, "helloworld");

BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(System.in));
bufferedReader.readLine();
scaDomain.close();
}
}

Launch this class. You should have your web service live, and
http://localhost:8080/HelloWorld?wsdl should give you back a generated
wsdl for the service.

Stéphane Drapeau
Obeo


PS : Thanks Antoine
Re: Reusing SCA Service Implementations [message #620100 is a reply to message #620097] Wed, 01 October 2008 13:35 Go to previous message
Stephane Drapeau is currently offline Stephane DrapeauFriend
Messages: 199
Registered: July 2009
Senior Member
Oops! Next time, I will use the refresh button before sending my message...
I agree with you Mickael.

Stéphane Drapeau
Obeo

Mickael Istria a écrit :
> Oops,
>
> I clicked "Reply" without checking the forum.
> Sorry for the spam...
>
> Mickael
>
> Mickael Istria a écrit :
>> Hi Michael, all
>>
>> Michael Gebhart a écrit :
>>> Hi,
>>>
>>> when using the SCA editor to create my service architecture, I can
>>> easily implement services. I can write a java class and set it as the
>>> implementation of a component.
>>
>> Yes, it is easy to design composites and write implementations for
>> components with SCA editor.
>>
>>
>>> My question is: Can I only use this implementation within a SCA
>>> runtime? We have a typical application server running and don't wanna
>>> provide a SCA runtime. But we'd like to use SCA for modeling the
>>> architecture.
>>
>> I think that the implementation you wrote does not depend on SCA
>> runtime, it only depends on SCA annotations (@Reference,
>> @Property...), but those annotation don't change your class logic,
>> thus you can use your classes out of SCA context (but you'll have to
>> provide the jar containing SCA references to resolve annotations).
>>
>> But the question that comes to me ie "why don't you use a SCA
>> runtime?". I understand that there may be conflicts because with some
>> applications server, but it is worse trying...
>>
>>
>>> Or do we have to manually adapt the implementation that it works
>>> within a typical WS-compliant java application server?
>>
>> I can't help you on this topic.
>>
>>
>>> Is the SCA way an alternative for the usual web service programming?
>>> Is it still necessary to write the web services as we have done it
>>> before? (Using JAX-WS etc.)
>>
>> SCA is an alternative for generic (Java-friendly) service programming.
>> I often use it to expose WebServices simply by creating a java
>> component that exposes its service through a binding.ws, and it works
>> quite well without brainstorming:
>>
>> <composite ...>
>> <component name="myComponent">
>> <implementation.java class="package.ServiceImpl" />
>> <service name="myService">
>> <interface.java interface="package.IService" />
>> <binding.ws uri="http://localhost:8081/endpoint" />
>> </service>
>> </component>
>> </composite>
>>
>>
>> Then, you have a web service published on localhost:8081/endpoint, and
>> your SCA runtime made everything necessary to get it working, you
>> simply wrote the composite, the interface, and the implementation
>> (only business code)
>>
>>
>>> Greetings
>>>
>>> Michael
>>
>> Regards,
>> Mickael
Previous Topic:BPMN modeler newsgroup
Next Topic:Retirement of inactive components in STP
Goto Forum:
  


Current Time: Thu Dec 05 10:21:57 GMT 2024

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

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

Back to the top