Projects for the budding contributor...
This page enlists some ideas that can be taken up for implementation and contribution, by anybody interested in Apache Tuscany - University Students, SCA and SOA enthusiasts...
1. Consuming SCA services from Google Gadgets
Summary : Integrate Tuscany and Apache Shindig to mash-up Google gadgets and backend SCA service components (Web Services, existing JEE services etc)
Use SCA to model references from Javascript gadgets to server-side services, and provide transparent access to these services (by injecting Javascript proxies into the gadgets, similar to what Tuscany currently does with its SCA Widget component support).
Use SCA composites to configure and assemble the gadgets together as well, allowing the application developer to use a consistent SCA-based assembly model for client-side mashups, server-side compositions and mixes of the two.
One possible scenario would be to construct a Stock Quote widget, that would get the quotes trough a SCA Service
2. Data Services (Implementation.data.jpa)
Create a new implementation type that would facilitate and simplify the access to Relation Database using JPA.
A component using this new implementation type would define itself in the composite as :
...
<implementation.data.jpa db="..." table="..."/>
2. Data Feeds and Data Services
Summary : Extend the Tuscany Atom Binding to work with data from relational databases to provide data services. This could be done by completing/enhancing the experimental Tuscany Data component type.
One possible scenario would be to modify the store sample/tutorial to provide a Catalog implementation exposing catalog rows from a relation database.
3.Integrate Java SCA with PHP
PHP PECL project provides a PHP implementation of the Service Component Architecture (SCA) programming model (see WWW http://pecl.php.net/package/SCA_SDO). SCA is a programming model which allows you to assemble applications using a Service-Oriented Architecture style. This includes producing and consuming Web services of various types, including soap/http, json-rpc, REST,Atom. Looking into the Tuscany Apache Incubator project (see WWW http://incubator.apache.org/tuscany/ ), which provides a Java-based implementation of SCA. This runtime is extensible for different implementation types, and currently supports things like BPEL, OSGi, Java (POJOs), Spring, JavaScript and XQuery.
I think it would make a very interesting and challenging project to extend Apache Tuscany to supports the concept of a PHP implementation type. This implementation type would be used to include PHP SCA enabled applications in an assembly which might also include any of the other Apache Tuscany implementation types. A realistic scenario for this solution might be a PHP Web front end to a Java business application. Tuscany includes a Java "store" application which could be converted to demonstrate the final deliverables. The solution would also require extensions to the PHP SCA project to enable existing PHP SCA service configuration to be externally overridden by Tuscany. The major work items would be as follows:
- Extend PHP SCA to support external configuration of services (PHP Scripting skills).
- Extend Apache Tuscany to provide a PHP implementation type (Java and XML/XML Schema skills).
- Extend Apache Tuscany to support PHP SCA as a deployment target(Java skills).
4.Integrate Java SCA and JBI
Build some Tuscany extensions to integrate JBI components into SCA - eg an SCA binding extension that supports running JBI binding components and maybe an SCA implementation extension that supports running JBI service engines. Both Tuscany/SCA and JBI have the concept of plugable extensions so these Tuscany extensions would be kind of adapters from the Tuscany extension APIs to the JBI APIs and you'd end up being able to drop a standard JBI binding component jar into the Tuscany runtime and have that used in an SCA assembly.
5.Bring Native SCA project to Spec 1.0 level
Help is needed to enhance Native SCA to support spec 1.0 level.
6.Ability to use C++ and Java in a composition
Integration between Native SCA and Java SCA. The ability to use legacy or new C++ type applications and integrate them into overall SOA solution which is composed of Java and C++.
7.Interop with .Net
How to integrate with .net.
8. Data Binding for Google Protocol Buffers
Google just introduced Binary Encoding Format: Protocol Buffers. Is anybody interested in developing a databinding for Tuscany to support it?
http://www.infoq.com/news/2008/07/google-protocol-buffers
8. Contribute to projects under roadmaps
put roadmap link |