Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Application developers should have the freedom to choose their preferred data representation without being restricted by the above concerns and worrying about the mappings. Tuscany SCA automatically handles this for them. LIST WHAT IS SUPPORTED

WHY IS IT IMPORTANT TO SHOW THESE BINDINGS AGAIN. READER KNOWS HOW TO DO THIS ALREADY

In the sample here the exchange rate is retrieved (step 1) using the feed binding (binding.rss) as follows.

Tuscany provides the most poplular databindings including SDO, JAXB, XMLBeans, AXIOM, JSON, DOM, SAX and StAX. There are more than 50 transformers to convert data between the databindings. With the transformer graph, we support not only point-to-point transformations but also multiple-hop transformations. This approach greatly reduces the number of transformers required and makes it possible to transform data without a direct transformation logic. It's very common that some databindings will be supported as the intermediaries, for example, the XML Sting, DOM Node and StAX XMLStreamReader are very populate in the XML world.

In the sample here the exchange rate is retrieved (step 1) using the feed binding (binding.rss) as follows.

Code Block

    <reference name="exchangeRate
Code Block

    <component name="ExchangeRate">
        <implementation.java class="bigbank.ExchangeRateImpl" />
<tuscany:binding.rss
           <reference name="exchangeRate">
            <tuscany:binding.rss
                uri="uri="http://ansuz.sooke.bc.ca/rippy/exchange/?M=R&amp;B=USD&amp;F=CAD,CNY,EUR&amp;T=F&amp;S=O&amp;I=S" />
        </reference>
    </component>

Step 3 uses the web service binding (binding.ws) to retrieve stock from the internet.

Code Block
    <reference name="StockQuoteReference" promote="AccountService/stockQuote">
        <binding.ws wsdlElement="http://swanandmokashi.com#wsdl.port(StockQuotes/StockQuotesSoap)" />
    </reference>

The various XML data are joined together using XQuery (implementation.xquery) in step4. XML is most popular data representation in the SOA world. XQuery is becoming the most applicable language for extracting and transforming XML data. Its SQL-like syntax is relatively easy to learn. The XQuery implementation type brings the power of XQuery and SCA together. With the help of the databinding framework, we can use XQuery to mediate data from many services and the capability of an XQuery can be extended by invoking other SCA components. WHY IS IT RELEVANT TO TALK ABOUT XQUERY VALUE?! THIS IS AN SCA PAPER. WHAT ARE WE TRYING TO SAY HERE? ARE WE TALKING ABOU USING IT FOR MEDIATION? THIS WOULD BE SEPARATE FROM DATABINDING FRAMEWORK DISCUSSION ABOVE java interface is interesting. We use StAX to streamline the XML data exchange over the web service. Thanks to the databinding framework, the component developer can choose its preferred XML java databinding technology such as JAXB, SDO, DOM or StAX no matter how the SOAP message is represented in the web services stack (AXIOM is used by Axis2).

Code Block

@Remotable
public interface StockQuote {
    public XMLStreamReader GetStockQuotes(XMLStreamReader input);
}

The various XML data are joined together using XQuery (implementation.xquery) in step4. XML is most popular data representation in the SOA world. The XQuery implementation type brings the power of XQuery and SCA together. With the help of the databinding framework, we can use XQuery to mediate data from many services and the capability of an XQuery can be extended by invoking other SCA components.

Code Block

@Remotable
public interface StockValue {
    double calculate(XMLStreamReader quotes, XMLStreamReader accounts);
}
Code Block
    <component name="StockValue">
        <tuscany:implementation.xquery location="stock.xq" />
    </component>

...