On Sunday 07 September 2008 00:00:15 Johan Compagner wrote:
> Use loadabledetacheable models for those objects, in the load method
> call the service method to get your bus. object back

However , there is a problem if you use loadabledetachable with AJAX requests 
on your page. Model.detach() is called on every request, which causes your 
object to be retrieved from database on the next Model.getObject() call. This 
means you lose all changes on your bound domain obect on every ajax request.
I found to solutions to this, and i like neither of them:

a) use DTOs, which means a lot of code duplication.

b) write the current object state  to the database on every detach, which 
means you might store objects in an incomplete state, before the user 
explicitly tells the application to store what she or hehas entered.

If anybody has a nicer solution to this, i'd love to hear about it.

> On 9/6/08, FakeBoy <[EMAIL PROTECTED]> wrote:
> > Hello all,
> > I am thinking about the best design architecture for public web project.
> > I used to work with classic 3 tier architecture:
> > 1. tier - tier of business logic (business domain obejcts)
> > 2. tier - middle service tier or API to business logic (EJB, Spring,
> > =>convert business object to DTO - Data Transfer Object)
> > 3. tier - client tier (Wicket)
> > A used to make distributed application where client side was not on the
> > same virtual machine as middle tier, so copying from business model to
> > DTO and back had purpose (reduce complexity of business obejct with many
> > relationships, reduce traffic and it also solved the problem with
> > serialization of business obejct - RMI).
> > But now I am programming web application in which all these 3 layers will
> > be placed in the same Virtual machine. So now It seems to be pointless to
> > convert/copy business obejct to DTO and back. So I would like to use
> > business objects directly in client layer. Middle layer will be still in
> > my app, but all service method will be return business objects directly
> > instead of DTO.
> > Now I am thinking abou problems that I will face to.
> > 1. Some business object are not serializable - I tried to made some
> > simple examples (ListPage, FormPage), and some little problem I overcome,
> > but I must made my custom Model => TransientModel, PropertyModel =>
> > TransientPropertyModel etc.
> >
> > Can you help me to define some others problems that can make me a lot of
> > troubles or try to give me your ideas and experiences with this issue.
> >
> > Thanks a lot once again.
> > Dave
> >
> > --
> > View this message in context:
> > http://www.nabble.com/Wicket---No-Serializable-objects-Web-application-tp
> >19351608p19351608.html Sent from the Wicket - User mailing list archive at
> > Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to