[omniORB] omniArchive: corba recording/playback tool

Mark Janes markjanes at fastmail.fm
Mon Jan 15 14:40:28 GMT 2007


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



More information about the omniORB-list mailing list