Michael,

I see some of your design-related notes in the code (e.g. AxisConnection has a note about EntityResolver). Please do not be afraid to post them here. We want to include this code in Cayenne at some point, so let's discuss this in public.

Lots of this stuff is research... What I was hoping to achieve here is

1. expose what we have already in Hessian to the world in a standard form (WSDL), just to see how people might use it.

2. develop a serialization technique that doesn't require redefining WSDL for each new set of objects (CayenneDataObject may be an ideal candidate for the "generic object" used in the transport layer). Once this is in place, current Hessian transport can take advantage of that as well, removing the ugly requirement to keep client classes on the server.

3. develop a base for implementation of clients in other languages. So yes, I agree with your comment that it is wrong for the server to tell the client what classes to use; however the rest of the EntityResolver is fine, this is just abstract entity metadata, mostly platform-independent (ok, the property types are also in Java, guess we can leave them as is for now, and later remap them as some "neutral" XMLSchema types or something).

This is just my thoughts, certainly not a roadmap for you. But it would be nice if you could share your direction as well :-)

Andrus


On Jul 6, 2006, at 10:40 PM, Andrus Adamchik wrote:
Kevin,

Do you have any plans to evaluate this code and move it to Cayenne main repository? This is pretty interesting stuff - I'd love to try it, but didn't want to get too deep inside until it settles in the main repo.

Michael - btw, another type of queries that should be fairly easy to implement and give you access to many Cayenne capabilities is NamedQuery (a pointer to a SQLTemplate, SelectQuery and ProcedureQuery stored in a DataMap on the server).

Andrus


On Jun 25, 2006, at 6:00 PM, Michael Victorov (JIRA) wrote:
Cayenne-ropwsdl: initial submission of code.
--------------------------------------------

         Key: CAY-580
         URL: http://issues.apache.org/cayenne/browse/CAY-580
     Project: Cayenne
        Type: New Feature

    Versions: SUMMER OF CODE 2006
    Reporter: Michael Victorov


Eclipse project divided on 3 nodes (https://svn.objectstyle.org/ repos/soc/trunk/cayenne-ropwsdl/):

1. cayenne-axis.

Cayenne ROP AXIS web service application support classes (currently supported SelectQuery only). Client-side proxy for connecting to web app. ClientConnection implementation based on this proxy. AXIS serialization/deserialization support classes for used Cayenne objects.

2. example-server.

Cayenne-generated classes of "cayenne-cmd-app" example for use on server-side. Ant build file for creating AXIS web app distributive.

3. example-client.

ROP-adapted Main class from "cayenne-cmd-app". Currently select queries done through ClientConnection impl and other queries - through local DataContext.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/cayenne/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to