Potential GSoC Projects
...
Qpid Demo - two projects (one for AMQP 0-9 and one for AMQP 0-10)
Candidates: Senaka Fernando, Buddika Laknath
Project Goal: Create a multi language Demo for Qpid, and use the demo as source to create the Qpid getting Started pages
Mentor:
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.
AMQP mgmt Bridge - JMX
Candidates: Lahiru Gunathilaka
Project Goal: Create a dynamic bridge from AMQP-mgmt protocol to JMX to facilitate std management console integration
Mentor:
Project Description:
Project is to create a process will receive management Data through the AMQP mgmt protocol and translate those into JMX. This will allow the C++ broker to also be hooked into a JMX allow for all the instrumentation data to be read from JMX, all the methods to be invoked, and the configuration to be updated through standard JMX consoles.
Note that all the schema is dynamic, so the bridge need to configure itself at runtime, so this service should derive it's behavior from the schema provided to it.
AMQP mgmt side protocol can be found here: http://cwiki.apache.org/qpid/management-design-notes.html
To play with it, build the C++ broker
./bootstrap
./configure
make
on linux, the to run the cmd line mgmt set the PYTHONPATH and run it from mgnt-cli
You should pretty quickly see how the objects get dynamically build and how they are layed out, these can then quite simple be dynamically mapped to JMX.
Implementation language is Java
AMQP mgmt Bridge - WS-DM
Candidates: Rahul Metha
Project Goal: Create a dynamic bridge from AMQP-mgmt protocol to JMX to facilitate std management console integration
Mentor:
Project Description:
Project is to create a process will receive management Data through the AMQP mgmt protocol and translate those into WS-DM This will allow the C++ broker to also be hooked into any WS-DM console and allow for all the instrumentation data to be read, all the methods to be invoked, and the configuration to be updated through standard WS-DM console like BMC, Tivoli, etc.
Note that all the schema is dynamic, so the bridge need to configure itself at runtime, so this service should derive it's behavior from the schema provided to it.
AMQP mgmt side protocol can be found here: http://cwiki.apache.org/qpid/management-design-notes.html
To play with it, build the C++ broker
./bootstrap
./configure
make
on linux, the to run the cmd line mgmt set the PYTHONPATH and run it from mgnt-cli
You should pretty quickly see how the objects get dynamically build and how they are layed out, these can then quite simple be dynamically mapped into the WS-DM intefaces.
Implementation language is the choice of the implementor (suggested languages are Python or Java)
JMX Cli
Candidates: Ruchira Wagisha
Project Goal: Provide the ability to access Java Broker mgmt info from cmd line.
Secondary Goal: Integrate with AMQP mgnt protocol ??
Mentor:
Project Description:
Design and implement a simple solution, runnable from the command line, for extracting useful JMX information from the Qpid Java Broker. Solution should be configurable at runtime to allow users to decide which bits of info they're interested in and when. Might be nice to see the information extracted in a report format
Qpid-java-broker-config
Candidates: Sachith Danushka.
Project Goal: Rationalize the configuration in the Java Broker to get it more consistent
Mentor:
Project Description:
qpid-java-qmf
Candidates:
Project Goal: Add QMF support to the Java Broker
Mentors:
Project Description:
qpid-java-message-store-tool
Candidates:
Project Goal: Improve message store tool
Mentors:
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-java-bridging
Candidates:
Project Goal: Facilitate moving messages between JMS providers, such as Qpid -> ActiveMQ
Mentors:
Project Description:
qpid-java-xml-exchange
Candidates:
Project Goal: Implement an XQuery capable exchange, equivalent to and compatible with C++ servers
Mentors:
Project Description:
qpid-stonehenge-integration
Candidates:
Project Goal: Investigate integration with Apache Stonehenge project, potentially other Apache projects
Mentors:
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.