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: 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.
AMQP mgmt Bridge - JMX
Candidates: Le Duc Bao,Lahiru Gunathilaka
Project Goal: Create a dynamic bridge from AMQP-mgmt protocol to JMX to facilitate std management console integration
Mentor: Marnie/Aidan/Arnaud ?
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 Mehta
Project Goal: Create a bridge between AMQP-JMX and WS-DM
Mentor: Arnaud
Project Description:
Project is to to expose the AMQP JMX-instrumented applications (Java broker and JMX/C++ management bridge) using MS-DM interfaces. Referring to the JMX architecture, this mapping should be addressed through a JMX-WS-DM connector. This will allow any qpid broker to be hooked into industry standard management product line like BMC, Tivoli, etc.
current qpid Java broker JMX can be found here: http://cwiki.apache.org/qpid/jmx-management-console.html
To play with it, you should build the Java broker
Implementation language is Java.
JMX Cli
Candidates: Lahiru Gunathilaka
Project Goal: Provide the ability to access Java Broker mgmt info from cmd line.
Secondary Goal: Integrate with AMQP mgnt protocol ??
Mentor: Adian/Marnie/Martin
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: Adian/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.
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.
You would need to be familiar with C, C++, Python or Java, and would ideally have experience working with disparate Free Software communities.
Apache Derby Datastore
Project Goal:
Implement a datastore backed by Hibernate or Apache Derby
Contact Person: Aidan Skinner <aidan AT apache DOT org>
Project Description:
Create a persistent datastore for Qpid that uses JDBC to connect to a database and which uses Apache Derby as a default backend. Bonus points for implementing it using hibernate so it's easily portable across different databases.
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: You would need to be familiar with Java, JDBC, Hibernate and SQL.