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]

Reply via email to