Hi Augustinus,

... and welcome to the Isis mailing list.

This idea has come up several times in various flavours, and it's certainly
achievable.  Indeed, Kevin (one of our committers) is prototyping a system
for his client which is conceptually similar... it loads its data out of an
SCM (git or similar, I guess).

David Tildesley, whose been working on a system down in NZ for a while, has
also talked about something similar.

And over in Ireland where I consult on the "sister" .NET system (running on
Naked Objects MVC), we've used a variation of this architecture to bridge
from a legacy client/server system to a new system based on NO MVC, where
new functionality is built "natively" and existing functionality from the
legacy system is exposed by wrapping each legacy entity as a view model.
 (The variation is that the back-end of the legacy system runs in the same
process space as the new system).

The main issue you'll face is in constructing the mementos of the view
models.  Currently the MementoService can only handle primitives and
entities; in other words it isn't possible for a view model to reference
another view model.  This might be an issue for you if you have a deep
hierarchy/complex structure.  We've raised a ticket for this, but right now
[1], but for the moment you're on your own to figure out a way to handle
this.

The other thing to be aware of is that, if you want your view models to be
editable, then they need to implement the ViewModel.Cloneable
subinterface.  That's because view models are immutable.

And one final thing: there is a practical limit of 2083 chars for URLs,
which impacts the length of a memento string.  The work-around is to have
the memento refer to a GUID and store the state in an HttpSession or a
distributed cache (if using the RO viewer).

Hope that helps,

Cheers
Dan



[1] https://issues.apache.org/jira/browse/ISIS-915


On 10 October 2014 08:48, <[email protected]> wrote:

> I'd like to use ISIS for my Web-App (.war / Tomcat) but I don't need all
> the persistence stuff
> cause I have to call a WebService instead of that.
>
> My idea:
>
> -       Compile wsdl2java (using jdk wsimport now)
> -       Enrich (merge in) the generated .java files with the
> ViewModel-methods (deriving the classes from ViewModel)
> -       Build services calling the webservice
>
> My questions:
>
> -       Is that idea a good one or should I go some other way ?
> -       Is anybody out there who did that already willing to share some
> experiences ?
>
> Basically I'd like to get all of ISIS but no persistence
> cause I have very deep data-structures to be shown and edited in the UI
> which I don't want to build up by means of Vaadin
>
> Any help or just little hints appreciated!
> (Even "That's a stupid idea remarks" :-) )
>
> Augustinus Deimel
>
>

Reply via email to