You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Dan Haywood <da...@haywood-associates.co.uk> on 2015/05/13 10:39:59 UTC

Re: Setting up REST client ISIS 1.9.0: Guideline?

Hi Marianne,

I use a combination of Chrome's json-view plugin (to view, and following
links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).

These links from the archives [1], [2] might help.

Regarding xsd, you could borrow some code from the todoapp [3]; the latest
version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated
classes frmo an XSD.

HTH
Dan


[1]
http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E

[2] https://www.youtube.com/watch?v=_-TOvVYWCHc

[3]
https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36


On 13 May 2015 at 09:33, Marianne Hagaseth <
Marianne.Hagaseth@marintek.sintef.no> wrote:

> A simple question:
> Where can I find a guideline for how to set up a REST web client in Apache
> ISIS?
> I mean, just having a button which calls a REST web service using simple
> HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
>
> And what is best to use to generate the class files from the xsd fetched
> from the REST web service? Apache axis2?  cxf?
>
> Using Eclipse, ISIS 1.9.0, and wicket viewer.
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker - Maritime transportsystemer
> Research Scientist - Maritime Transport Systems
>
> MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> Mobile:   +47 90 95 64 69 -  Phone: +47 464 15 000
> Web:       www.marintek.sintef.no<http://www.marintek.sintef.no/>
>
>

Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
I think that RestEasy supports that too, though.

cheers
Dan


On 19 May 2015 at 13:11, Marianne Hagaseth <
Marianne.Hagaseth@marintek.sintef.no> wrote:

>  REST with XML :-)
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 19. mai 2015 09:07
> *To:* Marianne Hagaseth
> *Cc:* users@isis.apache.org
>
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> I'd move up a layer or two.
>
>
>
> I think you said it was an XML web service, in which case SOAP and WSDL?
>
>
>
> If so, I suggest Apache CXF [1] is a reasonable approach.
>
>
>
> If it is JSON and REST instead, then you could also use Apache CXF, I
> think, or alternatively look at JBoss Resteasy [2]
>
>
>
> HTH
>
> Dan
>
>
>
> [1] http://cxf.apache.org/docs/how-do-i-develop-a-client.html
>
> [2]
> https://docs.jboss.org/resteasy/docs/3.0-beta-3/userguide/html/RESTEasy_Client_Framework.html
>
>
>
>
>
>
>
>
>
> On 19 May 2015 at 07:29, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> Any idea of which one of these that goes best with ISIS?
>
>
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 18. mai 2015 11:19
> *To:* Marianne Hagaseth; users
>
>
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> // copying this back onto users@i.a.o for others...
>
>
>
>
>
>
>
> On 18 May 2015 at 08:22, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> Yes, that makes sense!
>
> Thank you!
>
> So, I will create a domain service that is a REST client, and then inject
> this into the view model.
>
> This will be similar to other domain services,
>
>
>
> yes, in that you just annotated it with
>
>
>
>     @DomainService(natureOfService=DOMAIN)     // so not visible in UI
>
>
>
>
>
>
>
>
>
>  or not (so I will find links on the Isis homepage)?
>
>
>
>
>
>
>
> there aren't any examples in Isis, but Johan's project on github makes a
> similar sort of REST call (albeit to a JSON REST); see [1]
>
>
>
>
>
> Cheers
>
> Dan
>
>
>
> [1]
> https://github.com/johandoornenbal/matching/tree/master/dom/src/main/java/org/isisaddons/services/postalcode
>
>
>
>
>
>
>
>
>
>  Best,
>
> Marianne.
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 18. mai 2015 08:44
> *To:* Marianne Hagaseth
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> Hi Marianne,
>
>
>
> yes, that makes sense, though from your description it doesn't sound like
> Isis' RO viewer has any role to play in your design.  Instead you should
> create a domain service that acts as the REST client to the external
> system, and have this domain service be injected into your Isis entity/view
> models.
>
>
>
> Here's a quick sketch of that design [1]
>
>
>
> Make sense?
>
>
>
> Cheers
>
> Dan
>
>
>
> [1] https://dl.dropboxusercontent.com/u/10536589/marianne-sketch.png
>
>
>
>
>
> On 18 May 2015 at 07:25, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> My task is (maybe) simpler: I I want to create a REST client in the ISIS
> (I have used the kitchen-sink example) (this client is fired when pressing
> a button in the wicket viewer GUI) and then use this to invoke a REST
> service outside ISIS that returns a XML, not a JSON, using HTTP.
> Does that make sense?
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Marianne Hagaseth
> Sent: 13. mai 2015 10:43
> To: dan@haywood-associates.co.uk
> Subject: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
> Thanks a lot!
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: 13. mai 2015 10:40
> To: users
> Subject: Re: Setting up REST client ISIS 1.9.0: Guideline?
>
> Hi Marianne,
>
> I use a combination of Chrome's json-view plugin (to view, and following
> links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).
>
> These links from the archives [1], [2] might help.
>
> Regarding xsd, you could borrow some code from the todoapp [3]; the latest
> version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated
> classes frmo an XSD.
>
> HTH
> Dan
>
>
> [1]
>
> http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E
>
> [2] https://www.youtube.com/watch?v=_-TOvVYWCHc
>
> [3]
>
> https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36
>
>
> On 13 May 2015 at 09:33, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> > A simple question:
> > Where can I find a guideline for how to set up a REST web client in
> > Apache ISIS?
> > I mean, just having a button which calls a REST web service using
> > simple HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
> >
> > And what is best to use to generate the class files from the xsd
> > fetched from the REST web service? Apache axis2?  cxf?
> >
> > Using Eclipse, ISIS 1.9.0, and wicket viewer.
> >
> > Best,
> > Marianne.
> >
> > Med vennlig hilsen / Best regards,
> > Marianne Hagaseth
> > Forsker - Maritime transportsystemer
> > Research Scientist - Maritime Transport Systems
> >
> > MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> > Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> > Mobile:   +47 90 95 64 69 -  Phone: +47 464 15 000
> > Web:       www.marintek.sintef.no<http://www.marintek.sintef.no/>
> >
> >
>
>
>
>
>
>
>

RE: FW: Setting up REST client ISIS 1.9.0: Guideline?

Posted by Marianne Hagaseth <Ma...@marintek.sintef.no>.
REST with XML :-)

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: 19. mai 2015 09:07
To: Marianne Hagaseth
Cc: users@isis.apache.org
Subject: Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

I'd move up a layer or two.

I think you said it was an XML web service, in which case SOAP and WSDL?

If so, I suggest Apache CXF [1] is a reasonable approach.

If it is JSON and REST instead, then you could also use Apache CXF, I think, or alternatively look at JBoss Resteasy [2]

HTH
Dan

[1] http://cxf.apache.org/docs/how-do-i-develop-a-client.html
[2] https://docs.jboss.org/resteasy/docs/3.0-beta-3/userguide/html/RESTEasy_Client_Framework.html




On 19 May 2015 at 07:29, Marianne Hagaseth <Ma...@marintek.sintef.no>> wrote:
Any idea of which one of these that goes best with ISIS?

[cid:image001.png@01D0923D.AEECCFC0]

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

From: Dan Haywood [mailto:dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>]
Sent: 18. mai 2015 11:19
To: Marianne Hagaseth; users

Subject: Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

// copying this back onto users@i.a.o<ma...@i.a.o> for others...



On 18 May 2015 at 08:22, Marianne Hagaseth <Ma...@marintek.sintef.no>> wrote:
Yes, that makes sense!
Thank you!
So, I will create a domain service that is a REST client, and then inject this into the view model.
This will be similar to other domain services,

yes, in that you just annotated it with

    @DomainService(natureOfService=DOMAIN)     // so not visible in UI




or not (so I will find links on the Isis homepage)?



there aren't any examples in Isis, but Johan's project on github makes a similar sort of REST call (albeit to a JSON REST); see [1]


Cheers
Dan

[1] https://github.com/johandoornenbal/matching/tree/master/dom/src/main/java/org/isisaddons/services/postalcode




Best,
Marianne.

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

From: Dan Haywood [mailto:dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>]
Sent: 18. mai 2015 08:44
To: Marianne Hagaseth
Subject: Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

Hi Marianne,

yes, that makes sense, though from your description it doesn't sound like Isis' RO viewer has any role to play in your design.  Instead you should create a domain service that acts as the REST client to the external system, and have this domain service be injected into your Isis entity/view models.

Here's a quick sketch of that design [1]

Make sense?

Cheers
Dan

[1] https://dl.dropboxusercontent.com/u/10536589/marianne-sketch.png


On 18 May 2015 at 07:25, Marianne Hagaseth <Ma...@marintek.sintef.no>> wrote:
My task is (maybe) simpler: I I want to create a REST client in the ISIS (I have used the kitchen-sink example) (this client is fired when pressing a button in the wicket viewer GUI) and then use this to invoke a REST service outside ISIS that returns a XML, not a JSON, using HTTP.
Does that make sense?

Best,
Marianne.

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

-----Original Message-----
From: Marianne Hagaseth
Sent: 13. mai 2015 10:43
To: dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>
Subject: FW: Setting up REST client ISIS 1.9.0: Guideline?

Thanks a lot!

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>]
Sent: 13. mai 2015 10:40
To: users
Subject: Re: Setting up REST client ISIS 1.9.0: Guideline?
Hi Marianne,

I use a combination of Chrome's json-view plugin (to view, and following
links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).

These links from the archives [1], [2] might help.

Regarding xsd, you could borrow some code from the todoapp [3]; the latest version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated classes frmo an XSD.

HTH
Dan


[1]
http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E

[2] https://www.youtube.com/watch?v=_-TOvVYWCHc

[3]
https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36


On 13 May 2015 at 09:33, Marianne Hagaseth < Marianne.Hagaseth@marintek.sintef.no<ma...@marintek.sintef.no>> wrote:

> A simple question:
> Where can I find a guideline for how to set up a REST web client in
> Apache ISIS?
> I mean, just having a button which calls a REST web service using
> simple HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
>
> And what is best to use to generate the class files from the xsd
> fetched from the REST web service? Apache axis2?  cxf?
>
> Using Eclipse, ISIS 1.9.0, and wicket viewer.
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker - Maritime transportsystemer
> Research Scientist - Maritime Transport Systems
>
> MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> Mobile:   +47 90 95 64 69<tel:%2B47%2090%2095%2064%2069> -  Phone: +47 464 15 000<tel:%2B47%20464%2015%20000>
> Web:       www.marintek.sintef.no<http://www.marintek.sintef.no><http://www.marintek.sintef.no/>
>
>




Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
I'd move up a layer or two.

I think you said it was an XML web service, in which case SOAP and WSDL?

If so, I suggest Apache CXF [1] is a reasonable approach.

If it is JSON and REST instead, then you could also use Apache CXF, I
think, or alternatively look at JBoss Resteasy [2]

HTH
Dan

[1] http://cxf.apache.org/docs/how-do-i-develop-a-client.html
[2]
https://docs.jboss.org/resteasy/docs/3.0-beta-3/userguide/html/RESTEasy_Client_Framework.html




On 19 May 2015 at 07:29, Marianne Hagaseth <
Marianne.Hagaseth@marintek.sintef.no> wrote:

>  Any idea of which one of these that goes best with ISIS?
>
>
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 18. mai 2015 11:19
> *To:* Marianne Hagaseth; users
>
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> // copying this back onto users@i.a.o for others...
>
>
>
>
>
>
>
> On 18 May 2015 at 08:22, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> Yes, that makes sense!
>
> Thank you!
>
> So, I will create a domain service that is a REST client, and then inject
> this into the view model.
>
> This will be similar to other domain services,
>
>
>
> yes, in that you just annotated it with
>
>
>
>     @DomainService(natureOfService=DOMAIN)     // so not visible in UI
>
>
>
>
>
>
>
>
>
>  or not (so I will find links on the Isis homepage)?
>
>
>
>
>
>
>
> there aren't any examples in Isis, but Johan's project on github makes a
> similar sort of REST call (albeit to a JSON REST); see [1]
>
>
>
>
>
> Cheers
>
> Dan
>
>
>
> [1]
> https://github.com/johandoornenbal/matching/tree/master/dom/src/main/java/org/isisaddons/services/postalcode
>
>
>
>
>
>
>
>
>
>  Best,
>
> Marianne.
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 18. mai 2015 08:44
> *To:* Marianne Hagaseth
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> Hi Marianne,
>
>
>
> yes, that makes sense, though from your description it doesn't sound like
> Isis' RO viewer has any role to play in your design.  Instead you should
> create a domain service that acts as the REST client to the external
> system, and have this domain service be injected into your Isis entity/view
> models.
>
>
>
> Here's a quick sketch of that design [1]
>
>
>
> Make sense?
>
>
>
> Cheers
>
> Dan
>
>
>
> [1] https://dl.dropboxusercontent.com/u/10536589/marianne-sketch.png
>
>
>
>
>
> On 18 May 2015 at 07:25, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> My task is (maybe) simpler: I I want to create a REST client in the ISIS
> (I have used the kitchen-sink example) (this client is fired when pressing
> a button in the wicket viewer GUI) and then use this to invoke a REST
> service outside ISIS that returns a XML, not a JSON, using HTTP.
> Does that make sense?
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Marianne Hagaseth
> Sent: 13. mai 2015 10:43
> To: dan@haywood-associates.co.uk
> Subject: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
> Thanks a lot!
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: 13. mai 2015 10:40
> To: users
> Subject: Re: Setting up REST client ISIS 1.9.0: Guideline?
>
> Hi Marianne,
>
> I use a combination of Chrome's json-view plugin (to view, and following
> links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).
>
> These links from the archives [1], [2] might help.
>
> Regarding xsd, you could borrow some code from the todoapp [3]; the latest
> version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated
> classes frmo an XSD.
>
> HTH
> Dan
>
>
> [1]
>
> http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E
>
> [2] https://www.youtube.com/watch?v=_-TOvVYWCHc
>
> [3]
>
> https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36
>
>
> On 13 May 2015 at 09:33, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> > A simple question:
> > Where can I find a guideline for how to set up a REST web client in
> > Apache ISIS?
> > I mean, just having a button which calls a REST web service using
> > simple HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
> >
> > And what is best to use to generate the class files from the xsd
> > fetched from the REST web service? Apache axis2?  cxf?
> >
> > Using Eclipse, ISIS 1.9.0, and wicket viewer.
> >
> > Best,
> > Marianne.
> >
> > Med vennlig hilsen / Best regards,
> > Marianne Hagaseth
> > Forsker - Maritime transportsystemer
> > Research Scientist - Maritime Transport Systems
> >
> > MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> > Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> > Mobile:   +47 90 95 64 69 -  Phone: +47 464 15 000
> > Web:       www.marintek.sintef.no<http://www.marintek.sintef.no/>
> >
> >
>
>
>
>
>

RE: FW: Setting up REST client ISIS 1.9.0: Guideline?

Posted by Marianne Hagaseth <Ma...@marintek.sintef.no>.
Any idea of which one of these that goes best with ISIS?

[cid:image001.png@01D091AC.1BB40750]

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: 18. mai 2015 11:19
To: Marianne Hagaseth; users
Subject: Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

// copying this back onto users@i.a.o<ma...@i.a.o> for others...



On 18 May 2015 at 08:22, Marianne Hagaseth <Ma...@marintek.sintef.no>> wrote:
Yes, that makes sense!
Thank you!
So, I will create a domain service that is a REST client, and then inject this into the view model.
This will be similar to other domain services,

yes, in that you just annotated it with

    @DomainService(natureOfService=DOMAIN)     // so not visible in UI




or not (so I will find links on the Isis homepage)?



there aren't any examples in Isis, but Johan's project on github makes a similar sort of REST call (albeit to a JSON REST); see [1]


Cheers
Dan

[1] https://github.com/johandoornenbal/matching/tree/master/dom/src/main/java/org/isisaddons/services/postalcode




Best,
Marianne.

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

From: Dan Haywood [mailto:dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>]
Sent: 18. mai 2015 08:44
To: Marianne Hagaseth
Subject: Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

Hi Marianne,

yes, that makes sense, though from your description it doesn't sound like Isis' RO viewer has any role to play in your design.  Instead you should create a domain service that acts as the REST client to the external system, and have this domain service be injected into your Isis entity/view models.

Here's a quick sketch of that design [1]

Make sense?

Cheers
Dan

[1] https://dl.dropboxusercontent.com/u/10536589/marianne-sketch.png


On 18 May 2015 at 07:25, Marianne Hagaseth <Ma...@marintek.sintef.no>> wrote:
My task is (maybe) simpler: I I want to create a REST client in the ISIS (I have used the kitchen-sink example) (this client is fired when pressing a button in the wicket viewer GUI) and then use this to invoke a REST service outside ISIS that returns a XML, not a JSON, using HTTP.
Does that make sense?

Best,
Marianne.

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

-----Original Message-----
From: Marianne Hagaseth
Sent: 13. mai 2015 10:43
To: dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>
Subject: FW: Setting up REST client ISIS 1.9.0: Guideline?

Thanks a lot!

Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker – Maritime transportsystemer
Research Scientist – Maritime Transport Systems

-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk<ma...@haywood-associates.co.uk>]
Sent: 13. mai 2015 10:40
To: users
Subject: Re: Setting up REST client ISIS 1.9.0: Guideline?
Hi Marianne,

I use a combination of Chrome's json-view plugin (to view, and following
links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).

These links from the archives [1], [2] might help.

Regarding xsd, you could borrow some code from the todoapp [3]; the latest version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated classes frmo an XSD.

HTH
Dan


[1]
http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E

[2] https://www.youtube.com/watch?v=_-TOvVYWCHc

[3]
https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36


On 13 May 2015 at 09:33, Marianne Hagaseth < Marianne.Hagaseth@marintek.sintef.no<ma...@marintek.sintef.no>> wrote:

> A simple question:
> Where can I find a guideline for how to set up a REST web client in
> Apache ISIS?
> I mean, just having a button which calls a REST web service using
> simple HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
>
> And what is best to use to generate the class files from the xsd
> fetched from the REST web service? Apache axis2?  cxf?
>
> Using Eclipse, ISIS 1.9.0, and wicket viewer.
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker - Maritime transportsystemer
> Research Scientist - Maritime Transport Systems
>
> MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> Mobile:   +47 90 95 64 69<tel:%2B47%2090%2095%2064%2069> -  Phone: +47 464 15 000<tel:%2B47%20464%2015%20000>
> Web:       www.marintek.sintef.no<http://www.marintek.sintef.no><http://www.marintek.sintef.no/>
>
>



Re: FW: Setting up REST client ISIS 1.9.0: Guideline?

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
// copying this back onto users@i.a.o for others...



On 18 May 2015 at 08:22, Marianne Hagaseth <
Marianne.Hagaseth@marintek.sintef.no> wrote:

>  Yes, that makes sense!
>
> Thank you!
>
> So, I will create a domain service that is a REST client, and then inject
> this into the view model.
>
> This will be similar to other domain services,
>

yes, in that you just annotated it with

    @DomainService(natureOfService=DOMAIN)     // so not visible in UI





> or not (so I will find links on the Isis homepage)?
>
>
>


there aren't any examples in Isis, but Johan's project on github makes a
similar sort of REST call (albeit to a JSON REST); see [1]


Cheers
Dan

[1]
https://github.com/johandoornenbal/matching/tree/master/dom/src/main/java/org/isisaddons/services/postalcode





>  Best,
>
> Marianne.
>
>
>
> Med vennlig hilsen / Best regards,
>
> *Marianne Hagaseth*
>
> Forsker – Maritime transportsystemer
>
> Research Scientist – Maritime Transport Systems
>
>
>
> *From:* Dan Haywood [mailto:dan@haywood-associates.co.uk]
> *Sent:* 18. mai 2015 08:44
> *To:* Marianne Hagaseth
> *Subject:* Re: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
>
>
> Hi Marianne,
>
>
>
> yes, that makes sense, though from your description it doesn't sound like
> Isis' RO viewer has any role to play in your design.  Instead you should
> create a domain service that acts as the REST client to the external
> system, and have this domain service be injected into your Isis entity/view
> models.
>
>
>
> Here's a quick sketch of that design [1]
>
>
>
> Make sense?
>
>
>
> Cheers
>
> Dan
>
>
>
> [1] https://dl.dropboxusercontent.com/u/10536589/marianne-sketch.png
>
>
>
>
>
> On 18 May 2015 at 07:25, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> My task is (maybe) simpler: I I want to create a REST client in the ISIS
> (I have used the kitchen-sink example) (this client is fired when pressing
> a button in the wicket viewer GUI) and then use this to invoke a REST
> service outside ISIS that returns a XML, not a JSON, using HTTP.
> Does that make sense?
>
> Best,
> Marianne.
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Marianne Hagaseth
> Sent: 13. mai 2015 10:43
> To: dan@haywood-associates.co.uk
> Subject: FW: Setting up REST client ISIS 1.9.0: Guideline?
>
> Thanks a lot!
>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker – Maritime transportsystemer
> Research Scientist – Maritime Transport Systems
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: 13. mai 2015 10:40
> To: users
> Subject: Re: Setting up REST client ISIS 1.9.0: Guideline?
>
> Hi Marianne,
>
> I use a combination of Chrome's json-view plugin (to view, and following
> links) and Chrome Postman plugin (to submit GET/POST/PUT/DELETE).
>
> These links from the archives [1], [2] might help.
>
> Regarding xsd, you could borrow some code from the todoapp [3]; the latest
> version uses the maven-jaxb2-plugin plugin to generate JAXB-annotated
> classes frmo an XSD.
>
> HTH
> Dan
>
>
> [1]
>
> http://mail-archives.apache.org/mod_mbox/isis-users/201504.mbox/%3CCALJOYLEDs6ABT6SpAMNo8dA0V-RZjXYRSWFRCsoobpc6Gu3QVg@mail.gmail.com%3E
>
> [2] https://www.youtube.com/watch?v=_-TOvVYWCHc
>
> [3]
>
> https://github.com/isisaddons/isis-app-todoapp/blob/master/canonical/pom.xml#L36
>
>
> On 13 May 2015 at 09:33, Marianne Hagaseth <
> Marianne.Hagaseth@marintek.sintef.no> wrote:
>
> > A simple question:
> > Where can I find a guideline for how to set up a REST web client in
> > Apache ISIS?
> > I mean, just having a button which calls a REST web service using
> > simple HTTP GET/POST/UPDATE/DELETE, and then displaying the result?
> >
> > And what is best to use to generate the class files from the xsd
> > fetched from the REST web service? Apache axis2?  cxf?
> >
> > Using Eclipse, ISIS 1.9.0, and wicket viewer.
> >
> > Best,
> > Marianne.
> >
> > Med vennlig hilsen / Best regards,
> > Marianne Hagaseth
> > Forsker - Maritime transportsystemer
> > Research Scientist - Maritime Transport Systems
> >
> > MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> > Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> > Mobile:   +47 90 95 64 69 -  Phone: +47 464 15 000
> > Web:       www.marintek.sintef.no<http://www.marintek.sintef.no/>
> >
> >
>
>
>