osdir.com
mailing list archive F.A.Q. -since 2001!



Subject: Re: Moving QMF to a top-level directory -
msg#00112

List: dev-qpid.apache.org

Mail Archive Navigation:
by Date: Prev Next Date Index by Thread: Prev Next Thread Index

Hi Marnie,

QMF evolved from what was originally a mechanism to manage the c++ broker. It is now a much more general-purpose facility for managing just about anything. There is a growing community of users forming around QMF including some developers who are submitting patches.

I'm not sure if there is a compelling technical reason to put it in its own directory except for the fact that most of its components are independent from the broker and interface to Qpid only through the public client APIs. From an architectural standpoint, I think it's beneficial to separate it from the deep internals of Qpid.

Please note that the motivation for doing this now is that there will shortly be a fairly large, multi-directory commit with new QMF components (a C++ engine with bindings/wrappers for Python, Ruby, C#, and C++, plus some Java components). Either way this goes, I need to find a good place to put the new code.

There are also non-technical/marketing aspects. There are developers coming to Qpid because they wish to use QMF. But it's hard to find because it is only an embedded aspect of Qpid. I would like to raise its profile a bit and putting the code into a separate directory is a step in that direction. I've also requested an email alias for qmf from PMC for users who are interested in QMF but not Qpid messaging in general.

It may be that QMF will someday become its own project or sub-project if interest continues to increase. This separation will make an eventual spin-off much easier.

Regards and thanks for your interest and input,

-Ted

Marnie McCormack wrote:
Hi Ted,

Why do you need/want separation - what is the goal for moving QMF around ?
It'd be useful to understand the technical drivers for making changes to the
codebase/structure.

Thanks & Regards,
Marnie

On Thu, May 7, 2009 at 3:45 PM, Ted Ross <tross@xxxxxxxxxx> wrote:

Rafael Schloming wrote:

Ted Ross wrote:

Good idea Carl,

Here's the current structure:

qpid/cpp/src/qpid/agent - C++ agent library
qpid/cpp/src/qpid/console - C++ console library
qpid/cpp/src/qpid/management - Common files and components for managing
the broker
qpid/python/qmf - Python modules
qpid/ruby/lib/qpid/qmf.rb - Ruby console module
qpid/cpp/managementgen - Code generation tool for C++ agent
qpid/java/management/client/src/main/java/org/apache/qpid/management -
QMF to JMX (QMan)

Here's the proposed structure:

qpid/qmf/cpp - C++ implementation of qmf components
qpid/qmf/cpp/bindings - Wrapped bindings to components (Python, Ruby,
C#, WCF, etc.)
qpid/qmf/python - Pure Python implementations (for portability)
qpid/qmf/java - Pure Java implementations
qpid/qmf/windows - Windows implementations
qpid/qmf/tools - CLI utilities, code generators, etc.
qpid/qmf/docs - Documentation

I do not propose to remove anything from the current structure, only to
do new development in the proposed structure. At such a time when it is
safe and non-disruptive to remove code from the old structure, we can do so.

How do you intend to build the code? I presume there are dependencies from
code in qpid/qmf/{cpp,python,java} into qpid/{cpp,python,java}/client. The
current build system is organized around the language division and each
language has a self contained build. This change would seem to disrupt that
model somewhat.

QMF will be dependent on the public client APIs in qpid (either installed
or built). Of course, there are already dependencies across top-level
directories (cpp, python, ruby, ... depend on specs).

Is this going to be a problem? Is there an alternative that doesn't have
this problem yet gives us some separation?

-Ted



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@xxxxxxxxxxxxxxx




Thread at a glance:

Previous Message by Date:

Re: [c++] warning: big header file move coming up...

Andrew Stitcher wrote: On Wed, 2009-05-06 at 10:58 -0400, Alan Conway wrote: ... Please shout if you have any concerns, or if you want to suggest changes to the set of public API headers. Sorry, should have added - this is great work and a real step forward, thanks. :) This will be delayed till next week as I've got another issue to attend to, but it is coming... --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscribe@xxxxxxxxxxxxxxx

Next Message by Date:

Re: Moving QMF to a top-level directory

Rafael Schloming wrote: Ted Ross wrote: Rafael Schloming wrote: Ted Ross wrote: Good idea Carl, Here's the current structure: qpid/cpp/src/qpid/agent - C++ agent library qpid/cpp/src/qpid/console - C++ console library qpid/cpp/src/qpid/management - Common files and components for managing the broker qpid/python/qmf - Python modules qpid/ruby/lib/qpid/qmf.rb - Ruby console module qpid/cpp/managementgen - Code generation tool for C++ agent qpid/java/management/client/src/main/java/org/apache/qpid/management - QMF to JMX (QMan) Here's the proposed structure: qpid/qmf/cpp - C++ implementation of qmf components qpid/qmf/cpp/bindings - Wrapped bindings to components (Python, Ruby, C#, WCF, etc.) qpid/qmf/python - Pure Python implementations (for portability) qpid/qmf/java - Pure Java implementations qpid/qmf/windows - Windows implementations qpid/qmf/tools - CLI utilities, code generators, etc. qpid/qmf/docs - Documentation I do not propose to remove anything from the current structure, only to do new development in the proposed structure. At such a time when it is safe and non-disruptive to remove code from the old structure, we can do so. How do you intend to build the code? I presume there are dependencies from code in qpid/qmf/{cpp,python,java} into qpid/{cpp,python,java}/client. The current build system is organized around the language division and each language has a self contained build. This change would seem to disrupt that model somewhat. QMF will be dependent on the public client APIs in qpid (either installed or built). Of course, there are already dependencies across top-level directories (cpp, python, ruby, ... depend on specs). Is this going to be a problem? Is there an alternative that doesn't have this problem yet gives us some separation? I think it may be a source of some difficulty. It sort of depends on what you want to achieve. Do you want qmf to be an integrated part of the qpid build, or do you want qmf to be an entirely independent build? Once we establish a stable API/ABI for the messaging clients, there is no reason for the qmf build to be integrated with the qpid build. Qmf would only need headers and libraries for the client API to be built. Qmf will have its own stable API/ABI in multiple languages. I guess one question we need to answer is whether we want these interfaces to just be part of Qpid or to be separately deliverable. See my response to Marnie. -Ted --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscribe@xxxxxxxxxxxxxxx

Previous Message by Thread:

Re: Moving QMF to a top-level directory

Hi Ted, Why do you need/want separation - what is the goal for moving QMF around ? It'd be useful to understand the technical drivers for making changes to the codebase/structure. Thanks & Regards, Marnie On Thu, May 7, 2009 at 3:45 PM, Ted Ross <tross@xxxxxxxxxx> wrote: > Rafael Schloming wrote: > >> Ted Ross wrote: >> >>> Good idea Carl, >>> >>> Here's the current structure: >>> >>> qpid/cpp/src/qpid/agent - C++ agent library >>> qpid/cpp/src/qpid/console - C++ console library >>> qpid/cpp/src/qpid/management - Common files and components for managing >>> the broker >>> qpid/python/qmf - Python modules >>> qpid/ruby/lib/qpid/qmf.rb - Ruby console module >>> qpid/cpp/managementgen - Code generation tool for C++ agent >>> qpid/java/management/client/src/main/java/org/apache/qpid/management - >>> QMF to JMX (QMan) >>> >>> Here's the proposed structure: >>> >>> qpid/qmf/cpp - C++ implementation of qmf components >>> qpid/qmf/cpp/bindings - Wrapped bindings to components (Python, Ruby, >>> C#, WCF, etc.) >>> qpid/qmf/python - Pure Python implementations (for portability) >>> qpid/qmf/java - Pure Java implementations >>> qpid/qmf/windows - Windows implementations >>> qpid/qmf/tools - CLI utilities, code generators, etc. >>> qpid/qmf/docs - Documentation >>> >>> I do not propose to remove anything from the current structure, only to >>> do new development in the proposed structure. At such a time when it is >>> safe and non-disruptive to remove code from the old structure, we can do so. >>> >> >> How do you intend to build the code? I presume there are dependencies from >> code in qpid/qmf/{cpp,python,java} into qpid/{cpp,python,java}/client. The >> current build system is organized around the language division and each >> language has a self contained build. This change would seem to disrupt that >> model somewhat. >> > QMF will be dependent on the public client APIs in qpid (either installed > or built). Of course, there are already dependencies across top-level > directories (cpp, python, ruby, ... depend on specs). > > Is this going to be a problem? Is there an alternative that doesn't have > this problem yet gives us some separation? > > -Ted > > > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:dev-subscribe@xxxxxxxxxxxxxxx > >

Next Message by Thread:

Re: Moving QMF to a top-level directory

On Thu, 2009-05-07 at 12:21 -0400, Ted Ross wrote: > ... > It may be that QMF will someday become its own project or sub-project if > interest continues to increase. This separation will make an eventual > spin-off much easier. I can't see how this makes sense, at least presently: The qpid C++ broker and the putative qmf thing are circularly dependent. Separating them into different top level projects won't allow any sane build strategy. Andrew --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscribe@xxxxxxxxxxxxxxx
blog comments powered by Disqus

Home | News | Sitemap | FAQ | advertise | OSDir is an Inevitable website. GBiz is too!