Date: 2004-02-15T04:25:48 Editor: VincentMassol <[EMAIL PROTECTED]> Wiki: Jakarta Cactus Wiki Page: Cactus2Proposal URL: http://wiki.apache.org/jakarta-cactus/Cactus2Proposal
no comment Change Log: ------------------------------------------------------------------------------ @@ -1,6 +1,9 @@ +#pragma section-numbers off += Cactus v2 = + This page is for discussing the [http://blogs.codehaus.org/people/vmassol/archives/000520_cactus_v2_architecture_proposal.html Cactus v2 architecture proposal]. -Status (13/02/2004): +== Status (13/02/2004) == * First non-functioning "prototype" of Cactus v2 finished. This prototype relies on Maven to build and is really only a proof of concept we needed to learn how to use AspectWerkz and how to automate its usage using Maven. * Created an [http://maven.apache.org/reference/plugins/aspectwerkz/ AspectWerkz plugin for Maven] in the process. * Committed code in [http://cvs.apache.org/viewcvs.cgi/jakarta-cactus/scratchpad/cactus2/ jakarta-cactus/scratchpad/cactus2/]. @@ -8,3 +11,20 @@ * The next step is to have the tests run on the server side and to write the socket listener code so that the server side knows which test to execute. * In the future I believe we'll need an Ant <cactify> task which does the weaving and calls out directly AspectWerkz without going through the AspectWerkz plugin for Maven. * At this point in time, I have only looked at offline weaving. In the future we'll need to look at runtime weaving too I think. + +== Socket listener vs passing parameters to server side == + +There's a need to reconcile test code that is executed on the client side and test code executed on the server side. In other words a test that starts on the client side needs to be continued on the server side. There's also a need to pass back test result from server side to client side. + +There are 2 options for doing this: + * '''''Socket listener''''': by using a socket listener on the client side. When a test executes on the client side, it calls this socket to set the name of the executing test. The interceptor code on the server side queries the socket listener to ask what test it should run. + * '''''Parameter-passing''''': by passing some parameters (test case name, etc) in the request to the server side. + +There are pros and cons of each approach: + +|| Feature || Socket listener || Parameter-passing || +|| Genericity || yes || no (depends on the protocol) || +|| Multithread support || no || yes || + +My preference goes to the Socket listener solution. I wish we could find a way to make it work for multithreaded tests. -- VincentMassol + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
