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
This archive was generated by hypermail 2.0.0 : Thu Jul 06 2006 - 23:17:41 EDT