Potential GSoC Projects
qpid-java-qmf
Candidates:
Project Goal: Add QMF support to the Java Broker
Mentors:
Project Description:
qpid-java-message-store-tool
GSoC Projects and who is doing what:
...
Candidates:
Project Goal: Create a multi language Demo for Qpid, and use the demo as source to create the Qpid getting Started pages
Mentor: Carl/Rajith
Project Description:
The Qpid project likes to have an enterprise grade demo that reflects the messaging capabilities of the AMQP (www.amqp.org) protocol that uses brokers written in Java and C++ and the clients written in Java/JMS, c++, python, ruby, .NET
The Demo ca use any client server problem (like bank, stock, render farm, travel site etc) to illustrate the capabilities of the Qpid.
Qpid-java-broker-config
Candidates: Sachith Danushka.
Project Goal: Rationalize the configuration in the Java Broker to get it more consistent
Mentor: Aidan/Marnie/Martin
Project Description:
Refactor Qpid Java Broker configuration into a more elegant xml schema, with xsd, covering all existing configuration options and allowing for extension. Additionally implement a module to validate broker configuration files, which could be run standalone i.e. before starting a broker, to check that they're well formed and validate against the xsd.
More info:
Currently the broker configuration for the Qpid Java Broker is a little untidy. There's the bulk of the core broker configuration, much of which the majority of our end users won't want to change much, in the default config.xml files that we ship. On top of that we have a set of properties for the virtualhosts (which includes the ability to define per host some queues which will always exist on broker startup etc) in a separate file.
At the moment, if you edit the config.xml file you're using and accidentally damage or remove an important section the broker will blow up in an unexpected fashion. Creating an xsd and validating the config.xml at startup (probably as a switch on/off-able option !) would help to avoid this possibility.
We could also provide more information about what the config file contains in a self-documenting way. I'd suggest we need to restructure the config set up too - the virtualhosts file is at the very least badly named, but probably not really fit for purpose.
qpid-android-demo
Project Goal:
Implement a simple demo on Android using the Qpid client to send messages to and from a broker, such as stock price information and trade orders
Contact person: Aidan Skinner <aidan AT apache DOT org>
Project Description:
Android is hot, Qpid is hot, porting the Qpid client to Android and getting it to pull some information and publish some would be hot.
DBus over Qpid
Project Goal:
Implement an AMQP transport for DBus using Qpid.
Contact Person: Aidan Skinner <aidan AT apache DOT org>
Project Description:
Running DBus over AMQP would allow some interesting use cases, such as home automation, automatic synchronisation and the like, turning it into a true network bus.
Improve message store tool
Mentors:
Project Description:
qpid-java-message-store
Candidates:
Project Goal: Fix up Derby, implement new transaction log, routing tables
Mentors:
Project Description:
qpid-java-monitoring-alerting
Candidates:
Project Goal: Improve the Java servers reporting, accounting and alerting
Mentors:
Project Description:
qpid-scheduling
Candidates:
Project Goal: provide a mechanism to allow better scheduling of tasks ?
Mentors:
Project Description:
qpid-web-gui
Candidates:
Project Goal: Add an embedded management console to the java broker, accessable over HTTP. Jetty?
Mentors: Aidan
Project Description:
qpid-java-bridging
Candidates:
Project Goal: Facilitate moving messages between JMS providers, such as Qpid -> ActiveMQ
Mentors:
Project Description:
qpid-java-virtualisation
Candidates:
Project Goal: Refactor java broker so that each virtual host runs as a distinct process.
Mentors: Aidan
Project Description:
Not sure if this is a good idea to do or not, needs investigation.
qpid-java-xml-exchange
Candidates:
Project Goal: Implement an XQuery capable exchange, equivalent to and compatible with C++ servers
Mentors:
Project Description:
qpid-examples
Candidates:
Project Goal: Provdie complete, documented, worked examples for common use cases.
Mentors:
Project Description: First step - what are our use cases?
qpid-stonehenge-integration
Candidates:
Project Goal: Investigate integration with Apache Stonehenge project, potentially other Apache projects
Mentors:
Project Description: You would need to be familiar with C, C++, Python or Java, and would ideally have experience working with disparate Free Software communities.