Develop websocket binding for Apache Tuscany

Florian Moga

Abstract

The goal of this project is to enable SCA components to expose services that will allow browser clients to communicate with them as well as to enable inter-component communication via the websocket protocol. The nature of the protocol will offer new potential in the asynchronous communication offered by Apache Tuscany and will align the framework with the HTML5 technologies.

Additional Information

Tuscany Java SCA is a lightweight runtime that is designed to run standalone or provisioned to different host environments. SCA is a programming model for abstracting business functions as components and using them as building blocks to assemble business solutions. An SCA component offers services and depends on functions that are called references. It also has an implementation associated it with it which is the business logic that can be implemented in any technology.

Currently, Apache Tuscany has support for various technologies enabling asynchronous communication between components (like JMS or Comet). However, a websocket binding will complement these and further more, will avoid pitfalls specific to these technologies.

This project will require the use of a websocket protocol implementation. For this task, the Monsoon project will be used, which is an open source Java implementation of the websocket protocol based on the latest IETF drafts.

Code samples