Hi,

I do totally agree.
The possibility to integrate SCA with WCF would be a top-feature.
There is definitly interest from business side for that.

Regards,
Philipp

---------- Forwarded message ----------

-----Ursprüngliche Nachricht-----
Von: Anderson, Jeff T (CA - Toronto) [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 24. Oktober 2007 00:08
An: tuscany-user@ws.apache.org; tuscany-user@ws.apache.org
Betreff: RE: SCA WCF Integration

Again, I think this would be a definite value.
Jeff

________________________________

From: Jean-Sebastien Delfino [mailto:[EMAIL PROTECTED]
Sent: Tue 2007-10-23 14:23
To: tuscany-user@ws.apache.org
Subject: Re: SCA WCF Integration



Jean-Sebastien Delfino wrote:
> Anderson, Jeff T (CA - Toronto) wrote:
>> Our client is also very interested in this topic, be very interested
>> in seeing how it performed tighter integration, such as being able to
>> declare an intent on a wcf service method and use the Tuscany or
>> other SCA policy framework to satisfy the intent at runtime.  Just
>> one of many examples, I don't know a lot about W.CF but it does seem
>> that the approach is very similar to SCA, so in theory, a binding
>> shouldn't necessarily be Uber difficult.
>> Is anybody else interested in tighter integration up there?
>> Regards
>> Jeff
>>
>> ________________________________
>>
>> From: Simon Nash [mailto:[EMAIL PROTECTED]
>> Sent: Mon 2007-10-22 10:33
>> To: tuscany-user@ws.apache.org
>> Subject: Re: SCA WCF Integration
>>
>>
>>
>> You are correct that in Tuscany currently we don't have any way to
>> make a WCF Web service part of the SCA domain.
>>
>> I think there are (at least) two options for how you could do this.
>>
>> 1. Use <binding.ws> on a SCDL reference to connect from the SCA domain
>>     to the WCF Web service.  The reference is part of the SCA domain but
>>     the WCF Web service that it invokes is not part of the SCA domain.
>>
>> 2. Create an SCA service that encapsulates the WCF service, and wire
>>     to this SCA service in the usual way.  The encapsulating SCA service
>>     is part of the SCA domain.  It would be possible to create a new
>>     component implementation type <implementation.wcf> to specify this
>>     encapsulation and perform the necessary WCF invocations.
>>
>> This is a great topic to discuss and I'm sure others will have other
>> alternatives and opinions on the pros and cons of various approaches.
>>
>>    Simon
>>
>> James, Steven wrote:
>>
>>
>>> I have a question regarding WCF and SCA integration which I am hoping
>>> someone in this list can give clarity to.
>>>
>>> As far as I see it currently a WCF Web service is not part of the
>>> SCADomain. If a composed component had a dependency on a WCF component
>>> could an explicit reference be set to that WCF web service in the SCDL
>>> file? Or is this an internal matter and how we connect and invoke the
>>> WCF component should be encapsulated in our SCA component?
>>>
>>> Regards,
>>>
>>> Steve
>>>
>>>
>
> A few more thoughts, using the WCF Getting Started Calculator example
> at http://msdn2.microsoft.com/en-us/library/ms751519.aspx to
> illustrate what could be done...
>
> - Step 1: Model the WCF service as an SCA reference with a WS binding,
> would look like this:
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>           targetNamespace="http://sample";
>           xmlns:sample="http://sample";
>           name="Calculator">
>
>    <!-- A Java Calculator service component,
>        delegating the "add" operation to the WCF Calculator service -->
>    <component name="CalculatorServiceComponent">
>        <implementation.java class="calculator.CalculatorServiceImpl"/>
>
>        <!-- the addService reference bound to the WCF Calculator
> service -->
>        <reference name="addService">
>            <binding.ws port="...the WCF Calculator WSDL..."/>
>        </reference>
>
>    </component>
>
> </composite>
>
> Here the SCA domain only contains a reference to the external WCF
> service and its WSDL configuration.
>
>
> - Step 2: Model the WCF Calculator as an SCA component implementation,
> like that:
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>           targetNamespace="http://sample";
>           xmlns:sample="http://sample";
>           name="Calculator">
>
>    <!-- A Java Calculator service component
>        delegating the "add" operation to the WCF Calculator service
> component -->
>    <component name="CalculatorServiceComponent">
>        <implementation.java class="calculator.CalculatorServiceImpl"/>
>
>        <!-- the addService reference wired to the WCF Calculator
> service component -->
>        <reference name="addService"
> target="WCFCalculatorServiceComponent"/>
>
>    </component>
>
>    <!-- A service component representing the WCF Calculator example -->
>    <component name="WCFCalculatorServiceComponent">
>
>        <!-- Web.config defines the app's services and references -->
>        <implementation.net
>
config="C:\WCF-Samples\TechnologySamples\Basic\GettingStarted\CS\service\Web.config"/>
>
>
>    </component>
>
> </composite>
>
> Here we would represent the WCF app as a component implementation,
> introspect its WCF Web.config or App.config file to determine the
> services it offers, its references and configuration. Once you've
> represented the WCF app as an SCA implementation + component you can
> start using SCA wiring in your SCA domain as usual.
>
>
> To get Step 1 going will only require some configuration and Axis2 /
> WCF interop testing.
>
> Step 2 will take a little bit of coding to support
> <implementation.net> and introspect WCF configs but it should be
> pretty easy to do...
>
> Thoughts?
>

A few more code snippets to help illustrate Step 2:

This Web.config could be represented as an SCA component providing a
service:
<configuration>
  <system.serviceModel>
    <services>
      <service
          name="Microsoft.ServiceModel.Samples.CalculatorService"
          behaviorConfiguration="CalculatorServiceBehavior">
        <!-- ICalculator is exposed at the base address provided by
host: http://localhost/servicemodelsamples/service.svc  -->
        <endpoint address=""
                  binding="wsHttpBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />
        <!-- the mex endpoint is exposed at
http://localhost/servicemodelsamples/service.svc/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>

    <!--For debugging purposes set the includeExceptionDetailInFaults
attribute to true-->
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>


And that App.config could be represented as an SCA component with a
reference:
<configuration>
  <system.serviceModel>
    <client>
      <endpoint address="http://localhost/servicemodelsamples/service.svc";
                binding="wsHttpBinding"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </client>
  </system.serviceModel>
</configuration>

Hope this helps.

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-----------------------------------------
**************************************************************************************
Confidentiality Warning: This message and any attachments are
intended only for the use of the intended recipient(s), are
confidential, and may be privileged. If you are not the intended
recipient, you are hereby notified that any review, retransmission,
conversion to hard copy, copying, circulation or other use of this
message and any attachments is strictly prohibited. If you are not
the intended recipient, please notify the sender immediately by
return e-mail, and delete this message and any attachments from
your system. Thank you.

Information confidentielle: Le présent message, ainsi que tout
fichier qui y est joint, est envoyé à l'intention exclusive de son
ou de ses destinataires; il est de nature confidentielle et peut
constituer une information privilégiée. Nous avertissons toute
personne autre que le destinataire prévu que tout examen,
réacheminement, impression, copie, distribution ou autre
utilisation de ce message et de tout fichier qui y est joint est
strictement interdit. Si vous n'êtes pas le destinataire prévu,
veuillez en aviser immédiatement l'expéditeur par retour de
courriel et supprimer ce message et tout document joint de votre
système. Merci.
****************************************************************

Reply via email to