On 29/05/2008, at 1:29 PM, Jon Sharp wrote:
Thanks so much for the input. It's exactly what I was looking for. Honestly, I wasn't entirely sure of the approach, either. It seemed to me to make sense that since we have a data object such as a "Campground" that Cayenne has already defined for us, that we would reuse this object in our web service layer, as well. I did consider the fact that this object's purpose was more specific for ORM purposes, but it seemed that it might be useful as a general purpose definition of a given entity. However, you do raise some good points I hadn't considered about validation. I guess I thought we might be able to add that validation to the data object itself, but perhaps not.
For what it is worth, in our application where we use Axis for the SOAP communications, we have separate serializable classes specifically to tie into SOAP. That way we get to hide details of the Cayenne entities from SOAP users (for example, primary keys) and have an explicit separate step to copy data from the SOAP classes into the Cayenne entities, perform validation and then commit. This also allows us to insulate SOAP users from internal changes to the database schema and entity model.
Ari Maniatis --------------------------> ish http://www.ish.com.au Level 1, 30 Wilson Street Newtown 2042 Australia phone +61 2 9550 5001 fax +61 2 9550 4001 GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
