blob: bb6898140fbca888ed02c709c439186f31cc40e1 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
targetNamespace="http://store"
name="store">
<component name="Store">
<implementation.scheme script="store.scm"/>
<service name="Widget">
<binding.http uri="store"/>
</service>
<reference name="catalog" target="Catalog"/>
<reference name="shoppingCart" target="ShoppingCart/Cart"/>
<reference name="shoppingTotal" target="ShoppingCart/Total"/>
</component>
<component name="Catalog">
<implementation.scheme script="fruits-catalog.scm"/>
<property name="currencyCode">USD</property>
<service name="Catalog">
<binding.jsonrpc uri="catalog"/>
</service>
<reference name="currencyConverter" target="CurrencyConverter"/>
</component>
<component name="ShoppingCart">
<implementation.scheme script="shopping-cart.scm"/>
<service name="Cart">
<binding.atom uri="shoppingCart"/>
</service>
<service name="Total">
<binding.jsonrpc uri="total"/>
</service>
<reference name="cache" target="Cache"/>
</component>
<component name="CurrencyConverter">
<implementation.scheme script="currency-converter.scm"/>
<service name="CurrencyConverter">
<binding.jsonrpc uri="currencyConverter"/>
</service>
</component>
<component name="Cache">
<implementation.cpp path="../../components/cache" library="libdatacache"/>
<service name="Cache">
<binding.atom uri="cache"/>
</service>
<reference name="l1reader" target="Memcache"/>
<reference name="l1writer" target="Memcache"/>
<reference name="l2reader" target="Sqldb"/>
<reference name="l2writer" target="Sqldb"/>
</component>
<component name="Memcache">
<implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Memcache">
<binding.atom uri="memcache"/>
</service>
<property name="server">localhost:11211</property>
</component>
<component name="Sqldb">
<implementation.cpp path="../../components/sqldb" library="libsqldb"/>
<property name="conninfo">host=localhost port=6432 dbname=db</property>
<property name="table">store</property>
<service name="Sqldb">
<binding.atom uri="sqldb"/>
</service>
</component>
</composite>