Friday, May 25, 2007

Creating Mash-Ups using SCA and Apache Tuscany

I've just had my latest DeveloperWorks article published, entitled "Build mashups with the Service Component Architecture and Apache Tuscany". This article explains how the Alert Aggregator sample in the Tuscany Native M3 release works and steps through the components and code it uses.

Wednesday, May 16, 2007

Calling eBay using SCA - A PHP example

few lines of code and enabled to call ebay. This is a good example:

Tuesday, May 15, 2007

PHP SCA_SDO Release 1.2.1 Is Available

An update on the previous post. We found a few problems with the 1.2.0 release so we have done a quick refresh. Here is the release annouce for those of you interested in constructing and using services in PHP


The new PECL package SCA_SDO-1.2.1 has been released at

Release notes

* Pluggable bindings support

This support is all in the core. There are now fewer files in the SCA directory and all code specific to a given binding (local, soap, jsonrpc etc.) goes in a subdirectory under the Bindings subdirectory. The SCA core code now just knows how to use the SCA_BindingsFactory object to pull in the classes it needs to service an incoming request. The names of the desired classes are derived from the annotations e.g. if a component has an @binding.soap annotation, the SCA core code will look in SCA/Bindings/soap for the classes it needs. This is probably of limited interest unless you plan to write a binding of your own. We plan an article to describe how this works.

* Refactored bindings based on the pluggable binding support:
o jsonrpc
o local (php to php binding)
o restrpc (RPC based on HTTP GET or POST)
o soap (SOAP web services)
o xmlrpc

* Latest drop of SDO code from Tuscany (currently revision level 532769) including:
o performance enhancements
o set of fixes to DataObject destructor to eliminate crashes when the graph is not freed in the default order

* Updates to SDO extension:
o fix memory leak from SDO_DataObject (depends on Tuscany fixes above)
o add debug trace macros for debugging memory allocation
o new signature for SDO_DAS_XML::create() allows an array of schema files to be passed in

* Bug fixes

* Examples
o More SCA examples that exercise some of the new bindings, and some of the old, including HelloWorlds and Email scenarios.

* Fix for spaces in service description URLs (pecl defect #11006).
* Experimental support for service names following the PEAR coding standard
* Experimental support for a manual service request dispatching interface on SCA.php

Package Info
Service Data Objects (SDOs) enable PHP applications to work with data
from different sources (like a database query, an XML file, or a
spreadsheet) using a single interface. SCA for PHP allows a PHP
programmer to write reusable components (classes) in PHP, which can be
called either locally, or remotely via Web Services, with an identical

Related Links
Package home:
Web Site:
Mail List:

Monday, May 07, 2007

PHP SOA (SCA and SDO) release 1.2 is available

PHP SOA just published release 1.2. Take a look at for more detail.

There is now support for pluggable bindings (even simpler environment than before) and bindings such as jsonrpc, local (php to php binding), restrpc (RPC based on HTTP GET or POST), soap (SOAP web services) and xmlrpc. There are also new examples for these bindings.

Tuscany SCA Native M3 release and SDO C++ M3 release.. available

The Tuscany SCA Native M3 Release supports C++, Python and Ruby component implementations as well as Axis2C and REST bindings. You will also find a new sample demonstrating how to build mashups using SCA. This release supports the Mac OS X operating system.

SCA Native M3 release which supports .96 version of SCA assembly spec and .95 version of C&I C++ spec is available here:

The Tuscany SDO C++ release contains (30%-40%) performance improvements. This release supports the Mac OS X operating system.

SDO C++ M3 release which supports 2.01 version of SDO C++ specification is available here:

The release was announced in this email:

Tuscany community looks forward to your feedback. Here is information on how to get invovled: