Mark Janes
2007-01-16 04:40:21 UTC
Hello,
I am publishing a general omniOrb tool which has been helpful in
debugging interactions between the corba components that I have worked on.
I am wondering if anyone has tips on how I can best make it available to
omniOrb users.
The tool compiles omniOrbPy implementations for interfaces in the user's
idl files. The implementations leverage gnosis utilities to archive
each interface call, and its parameters, in xml.
The xml can be used to reproduce the corba calls at a later date, or to
inspect them for bugs. Reproducing the calls is done via the gnosis
utils, which enable the xml to be re-hydrated into working omniOrbPy
objects. This provides a "playback" mode for the recorder.
The python recorder implementations forward calls to the actual
implementation after archiving them, effectively logging all aspects of
an interface on a running system, without interruption.
My colleagues and I have used this tool to debug corba interfaces during
system integration, and to create unit test cases for interfaces.
This approach has been very effective, and has fundamentally altered the
way test and integration take place in our organization.
I still have some work to do refining the code; it implements a
subscriber/publisher feature which is particular to our interfaces, and
it needs a general code cleanup. I also need to create some generic
examples for it, and create a distribution tarball.
You can take a look at what I currently have at:
http://omniarchive.svn.sourceforge.net/viewvc/omniarchive/trunk/
the omniidl backend is src/omniArchive.py
the executable that runs the generated classes is bin/omniArchive
I would appreciate your feedback:
* How can I improve this tool?
* Is this tool appropriate for inclusion in the omniOrb distribution?
* Is there a better way to make this tool available to omniOrb users?
thank you for your time,
Mark Janes
I am publishing a general omniOrb tool which has been helpful in
debugging interactions between the corba components that I have worked on.
I am wondering if anyone has tips on how I can best make it available to
omniOrb users.
The tool compiles omniOrbPy implementations for interfaces in the user's
idl files. The implementations leverage gnosis utilities to archive
each interface call, and its parameters, in xml.
The xml can be used to reproduce the corba calls at a later date, or to
inspect them for bugs. Reproducing the calls is done via the gnosis
utils, which enable the xml to be re-hydrated into working omniOrbPy
objects. This provides a "playback" mode for the recorder.
The python recorder implementations forward calls to the actual
implementation after archiving them, effectively logging all aspects of
an interface on a running system, without interruption.
My colleagues and I have used this tool to debug corba interfaces during
system integration, and to create unit test cases for interfaces.
This approach has been very effective, and has fundamentally altered the
way test and integration take place in our organization.
I still have some work to do refining the code; it implements a
subscriber/publisher feature which is particular to our interfaces, and
it needs a general code cleanup. I also need to create some generic
examples for it, and create a distribution tarball.
You can take a look at what I currently have at:
http://omniarchive.svn.sourceforge.net/viewvc/omniarchive/trunk/
the omniidl backend is src/omniArchive.py
the executable that runs the generated classes is bin/omniArchive
I would appreciate your feedback:
* How can I improve this tool?
* Is this tool appropriate for inclusion in the omniOrb distribution?
* Is there a better way to make this tool available to omniOrb users?
thank you for your time,
Mark Janes