127 lines
4.7 KiB
Text
127 lines
4.7 KiB
Text
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;
|
|
Smtp: SMTP 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 and PgBouncer;
|
|
Webservice: Web service gateway, using Apache Axis2/C.
|
|
|
|
These components present a simple ATOMPub REST interface, allowing you to work
|
|
with a data cache, a database, a message queue or a chat connection for example
|
|
very simply using HTTP GET, POST, PUT and DELETE methods.
|
|
|
|
|
|
Getting the source code
|
|
=======================
|
|
|
|
To checkout the source code, do this:
|
|
git clone git://git.apache.org/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
|
|
| | |-- smtp SMTP client
|
|
| | |-- 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.7.4
|
|
| |-- ubuntu Automated install on Ubuntu 12.04
|
|
| |-- 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
|
|
|