Discussion:
[omniORB] omniArchive: corba recording/playback tool
OKeeffe, Michael K
2007-01-23 21:14:39 UTC
Permalink
Hello,
[snip]
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.
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
* 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?
Mark,

This sounds like a good idea. It sounds like the way I expected
EasyMock (http://www.easymock.org) to work, but it doesn't. For
EasyMock, there is a record and play feature, but it is only recording
the calls & returns you have faked out, rather than as yours seems to
work.

A few suggestions/requests (caveat: I haven't tried it out)

- The reason I haven't tried it out is that it seems to only work with
Python. If so, how hard would it be to modify to work in C++?
- There's some good info on releasing an open source project in the CVS
Manual by Karl Fogel and Moshe Bar ( the hard copy edition, not web
version)
- The instructions are a little limited. Just a paragraph or so on how
to install and use would be nice.
- I see the Python source, is all source available?
- I'd suggest improving it as you mentioned ( making more generic) since
those items, at least for me, make me think it isn't quite ready yet, so
I'm apt to wait.
- Generic examples would be great. That's usually the first place I
start, for example along the lines of omniORB's example directory, with
make files, and simple but complete set of code for the example.
- Code cleanup, etc is no big deal, that won't put people off, in my
opinion, every software could always use that.
- Tarball can also wait - some of us are Windows users, and as long as
there are good instructions, we can figure out how to install. That's
more of a nice to have.
- For getting it out to people, what about the wiki pages? Perhaps:
http://www.omniorb-support.com/omniwiki/CorbaServices, or a link?

-Mike
OKeeffe, Michael K
2007-01-23 21:22:17 UTC
Permalink
Mark,

I went back to the omniarchive and see you've added a bunch of examples
and readmes - good work!

I guess you can disregard most of my comments - I should have checked
that before sending out the e-mail...

-Mike

-----Original Message-----
From: OKeeffe, Michael K
Sent: Tuesday, January 23, 2007 9:14 AM
To: omniorb-***@omniorb-support.com
Subject: RE: [omniORB] omniArchive: corba recording/playback tool
Hello,
[snip]
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.
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
* 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?
Mark,

This sounds like a good idea. It sounds like the way I expected
EasyMock (http://www.easymock.org) to work, but it doesn't. For
EasyMock, there is a record and play feature, but it is only recording
the calls & returns you have faked out, rather than as yours seems to
work.

A few suggestions/requests (caveat: I haven't tried it out)

- The reason I haven't tried it out is that it seems to only work with
Python. If so, how hard would it be to modify to work in C++?
- There's some good info on releasing an open source project in the CVS
Manual by Karl Fogel and Moshe Bar ( the hard copy edition, not web
version)
- The instructions are a little limited. Just a paragraph or so on how
to install and use would be nice.
- I see the Python source, is all source available?
- I'd suggest improving it as you mentioned ( making more generic) since
those items, at least for me, make me think it isn't quite ready yet, so
I'm apt to wait.
- Generic examples would be great. That's usually the first place I
start, for example along the lines of omniORB's example directory, with
make files, and simple but complete set of code for the example.
- Code cleanup, etc is no big deal, that won't put people off, in my
opinion, every software could always use that.
- Tarball can also wait - some of us are Windows users, and as long as
there are good instructions, we can figure out how to install. That's
more of a nice to have.
- For getting it out to people, what about the wiki pages? Perhaps:
http://www.omniorb-support.com/omniwiki/CorbaServices, or a link?

-Mike
Mark Janes
2007-01-25 00:19:46 UTC
Permalink
Hi Mike,

Thank you for taking a look at the tool, I appreciate your comments.

I will read the instructions on releasing the project, and I will also
put some information on the wiki.

Regarding Python, I'm afraid it's a necessary component. There are
a couple aspects that involve Python:

* Python is needed to run omniidl, and omniArchive is based on the
users idl files. Is there a way to develop omniORB applications
without a Python installation?

* I leveraged the gnosis framework, written in Python, to handle the
xml serialization of the corba objects in the call parameters. I
imagine there are some serialization tools for c++, but it is at a
big disadvantage due to its strong type safety. Gnosis is perfect
because it uses xml, which is readable and modifiable, an important
feature for unit test. I'll look around to see if a similar
implementation can be done in c++.

My mail/documentation might not have been clear about the c++
functionality. OmniArchive is implemented via omniORBPy, but it will
record client and server interactions between c++ or java omniORB
applications.

If you have Python and omniORBPy installed, omniArchive should be able
to record and playback any omni interface.

Thanks again for your valuable advice!

-Mark
Post by OKeeffe, Michael K
Mark,
I went back to the omniarchive and see you've added a bunch of examples
and readmes - good work!
I guess you can disregard most of my comments - I should have checked
that before sending out the e-mail...
-Mike
-----Original Message-----
A few suggestions/requests (caveat: I haven't tried it out)
- The reason I haven't tried it out is that it seems to only work with
Python. If so, how hard would it be to modify to work in C++?
- There's some good info on releasing an open source project in the CVS
Manual by Karl Fogel and Moshe Bar ( the hard copy edition, not web
version)
- The instructions are a little limited. Just a paragraph or so on how
to install and use would be nice.
- I see the Python source, is all source available?
- I'd suggest improving it as you mentioned ( making more generic) since
those items, at least for me, make me think it isn't quite ready yet, so
I'm apt to wait.
- Generic examples would be great. That's usually the first place I
start, for example along the lines of omniORB's example directory, with
make files, and simple but complete set of code for the example.
- Code cleanup, etc is no big deal, that won't put people off, in my
opinion, every software could always use that.
- Tarball can also wait - some of us are Windows users, and as long as
there are good instructions, we can figure out how to install. That's
more of a nice to have.
http://www.omniorb-support.com/omniwiki/CorbaServices, or a link?
-Mike
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
OKeeffe, Michael K
2007-01-25 03:09:51 UTC
Permalink
Post by OKeeffe, Michael K
[snip]
My mail/documentation might not have been clear about the c++
functionality. OmniArchive is implemented via omniORBPy, but it will
record client and server interactions between c++ or java omniORB
applications.
Oh - got it. That sounds fine then. I misunderstood the e-mail to mean
it worked only with Python implementations. I'll try it out..
Post by OKeeffe, Michael K
If you have Python and omniORBPy installed, omniArchive should be able
to record and playback any omni interface.
I have the trimmed down Python version required to build the omniORB
sources, but I'm guessing I'll need the full version?
Mark Janes
2007-01-25 05:40:56 UTC
Permalink
I'm not sure, since I don't know much about the trimmed down Python
distribution. The omniORBPy and gnosis tools use plenty of Python
features, and I would expect them to require a full install.

It is unfortunate that the Python installation can be one of the more
problematic aspects of using omniORB. The various PYTHON* environment
variables have been the source of some opaque errors when I used custom
Python installations in the past.

good luck,

Mark
Post by OKeeffe, Michael K
I have the trimmed down Python version required to build the omniORB
sources, but I'm guessing I'll need the full version?
Loading...