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