You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by lloyd chandran <ll...@gmail.com> on 2014/04/01 20:49:55 UTC

Isis as a prototyping tool

Hi

I want to use isis as a prototyping tool in the company i work. We work in
the banking domain. I have some questions.

1) We are a spring / hibernate shop. Is it possible to swap the jdo to
hibernate or gorm(groovy orm). Idea is to reduce the learning curve and be
productive from day one

2)Is it possible to use groovy as the dom definitions. By doing this will
we be able to not restart the server and see the changes immediately with a
page refresh.

3) Our UI layer is Vaadin. How difficult is it to write a viewer for vaadin
7. Do you have some examples /documentation about this.

-- 
*regards*
*Lloyd Chandran*

Re: Isis as a prototyping tool

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 1 April 2014 19:49, lloyd chandran <ll...@gmail.com> wrote:

> Hi
>

Hi Lloyd,
welcome to the isis users list.



>
> I want to use isis as a prototyping tool in the company i work. We work in
> the banking domain. I have some questions.
>
> 1) We are a spring / hibernate shop. Is it possible to swap the jdo to
> hibernate or gorm(groovy orm). Idea is to reduce the learning curve and be
> productive from day one
>
>
Hibernate (and Gorm, which I think sits on top of Hibernate) is not
compatible with ASF, so the short answer is no.

The slightly longer answer is that what probably matters is whether you are
using JDO or JPA.  Hibernate is of course only a JPA API, and so this is
what your devs most likely know.

DataNucleus, which Isis uses as its ORM, supports both JDO and JPA, but we
currently have only integrated the JDO API into Isis.

Extending Isis to allow JPA-annotated entities (which could then be run on
top of Hibernate outside of Isis) has certainly been mentioned, but it's
not yet got to the top of my inbox.  I estimate it'd take 20~30 working
days to do so (that an upper limit).




> 2)Is it possible to use groovy as the dom definitions. By doing this will
> we be able to not restart the server and see the changes immediately with a
> page refresh.
>
>
I'm guessing you might have associated those two aspects because of Grails?
but actually I think they are unrelated.

To answer the second point first; even using Java we do now support hot
redeploys by virtue of JRebel.  Admittedly that's not free for commercial
use, but then again if you're doing professional development, then it
probably warrants the point.  See the website [1]

With respect to using Groovy as an alternative to Isis, this is in theory
possible, and I did spike it a few years back [2].  But it's not been
formally released as of yet (definitely do-able, though).  This is one of
the topics we'll probably be talking about in our little Isis get together
in June [3]




> 3) Our UI layer is Vaadin. How difficult is it to write a viewer for vaadin
>

Fairly difficult :-)  Certainly a good few months (allow 3 to 6).

Moreover, we haven't formally published the Isis metamodel API.  So
although this code is pretty stable, there would be the risk of minor
breakages between releases.

Another option if you did want a Vaadin viewer would be to write it against
the REST API exposed via the Restful Objects viewer [4], conformant to the
RO spec [5].  The Isis "next-gen" viewer will be using this, almost
certainly written in AngularJS.  But Vaadin could also act as a REST
client, using Isis' RO (Java) applb.

The benefit of this approach is that the viewer is working to a published
API.  The downside (perhaps) is that you've got an extra network hop, which
may or may not be appropriate for your architecture.





> 7. Do you have some examples /documentation about this.
>
>
If you do want to write a direct Vaadin viewer, then the best I can suggest
is to look at the Wicket viewer code [7], the RO viewer code [8], or also
the third-party DHTMLX viewer [9] (written by Maurizio, one of our
committers).


Hope that helps
Dan


[1] http://isis.apache.org/other/jrebel.html
[2] https://github.com/apache/isis/tree/master/component/progmodel/groovy
[3] https://cwiki.apache.org/confluence/display/ISIS/IsisCon+2014
[4] http://isis.apache.org/components/viewers/restfulobjects/about.html
[5] http://restfulobjects.org/
[6] https://github.com/apache/isis/tree/master/component/viewer/wicket
[7]
https://github.com/apache/isis/tree/master/component/viewer/restfulobjects
[8] http://isis.apache.org/third-party/viewers/dhtmlx/about.html
[9] https://github.com/madytyoo/dhtmlx-isis-viewer




> --
> *regards*
> *Lloyd Chandran*
>