| Apache Tuscany SCA Runtime |
| ========================== |
| |
| Tuscany SCA Native is an SCA (Service Component Architecture) runtime written |
| in C++ and integrated with the Apache HTTPD server. |
| |
| It supports SCA components written in C++ and Python. Experimental support |
| for other programming languages is under construction. SCA bindings are |
| available for the JSON-RPC, ATOMPub and RSS protocols. User signin is |
| implemented using OpenID and OAuth. |
| |
| Several useful SCA components are provided on top of the SCA runtime, which |
| can be used to help assemble distributed SCA composite applications: |
| |
| Cache: key/value memory cache, using Memcached; |
| Chat: XMPP chat, using Apache Vysper and Libstrophe; |
| Constdb: fast persistent store for mostly constant data, using TinyCDB; |
| Filedb: key/value persistent store, using plain files; |
| Http: HTTP client, using Libcurl; |
| Kvdb: fast key/value persistent store, using LevelDB; |
| Log: distributed logger, using Facebook Scribe; |
| Queue: AMQP queuing, using Apache Qpid/C; |
| Sqldb: SQL database, using PostgreSQL; |
| Webservice: Web service gateway, using Apache Axis2/C. |
| |
| These components present a simple ATOMPub REST interface, allowing you to send |
| a message to a queue, a chat connection, or add an entry to a cache or a |
| database for example, using a simple HTTP POST. |
| |
| |
| Getting the source code |
| ======================= |
| |
| To checkout the source code, do this: |
| git clone git://git.apache.org/tuscany-sca-cpp |
| or |
| svn checkout http://svn.apache.org/repos/asf/tuscany/sca-cpp tuscany-sca-cpp |
| |
| To checkout the source code with commit access, do this: |
| git clone git://git.apache.org/tuscany-sca-cpp |
| cd tuscany-sca-cpp/.git |
| curl -OL http://git.apache.org/authors.txt |
| cd .. |
| git config svn.authorsfile .git/authors.txt |
| git config user.email <you>@apache.org |
| git config svn.rmdir true |
| git svn init --prefix=origin/ -s https://svn.apache.org/repos/asf/tuscany/sca-cpp |
| git svn rebase |
| |
| |
| Layout |
| ====== |
| |
| Here's a rough guide to the Tuscany SCA source tree: |
| |
| / |
| |-- trunk Master development branch |
| | | |
| | |-- kernel SCA runtime kernel |
| | | |
| | |-- modules Modules that plug into the runtime |
| | | |-- atom AtomPub data encoding |
| | | |-- edit Composite app editor |
| | | |-- http HTTP protocol |
| | | |-- java Support for Java components |
| | | |-- json JSON data encoding |
| | | |-- oauth User signin using OAuth |
| | | |-- opencl Support for OpenCL components |
| | | |-- openid User signin using OpenID |
| | | |-- python Support for Python components |
| | | |-- rss RSS data encoding |
| | | |-- scheme Support for Scheme components |
| | | |-- server Apache HTTPD server integration |
| | | |-- wsgi Python WSGI server integration |
| | | |
| | |-- components Useful SCA components |
| | | |-- cache Memcached key/value cache |
| | | |-- chat XMPP chat |
| | | |-- constdb TinyCDB constant persistent store |
| | | |-- filedb Plain file persistent store |
| | | |-- http HTTP client |
| | | |-- kvdb LevelDB key/value persistent store |
| | | |-- log Scribe logger |
| | | |-- queue AMQP message queue |
| | | |-- sqldb PostgreSQL database |
| | | |-- webservice Axis2 Web service gateway |
| | | |
| | |-- samples Sample Applications |
| | | |-- store-cluster Online store on a proxy + server + db cluster |
| | | |-- store-cpp Online store written in C++ |
| | | |-- store-gae Online store written in Python, working on GAE |
| | | |-- store-java Online store written in Java |
| | | |-- store-nosql Online store using a NoSQL database |
| | | |-- store-python Online store written in Python |
| | | |-- store-scheme Online store written in Scheme |
| | | |-- store-sql Online store using an SQL database |
| | | |-- store-vhost Online store on virtual hosts |
| | | |
| | |-- macos Automated install on Mac OS X 10.1.7 |
| | |-- ubuntu Automated install on Ubuntu 10.10 |
| | |-- patches Temporary patches to some of the dependencies |
| | |
| |-- branches Topic and release branches |
| | |
| |-- tags Release tags |
| |
| |
| Building |
| ======== |
| |
| See the INSTALL file at the root of the source tree. |
| |
| |
| Contributing to the project |
| =========================== |
| |
| To contribute to the project or report issues see the Tuscany development |
| mailing list: |
| dev@tuscany.apache.org |
| |
| Archives: |
| http://www.mail-archive.com/dev@tuscany.apache.org |
| http://marc.info/?l=tuscany-dev |
| |
| To subscribe send an email to: |
| dev-subscribe@tuscany.apache.org |
| |