restful xweb introducing rest services tech tomorrowkb.abila.com › sites › kb › files ›...

16
www.Avectra.com #AUDC13 RESTful xWEB Introducing REST Services Tech TOMORROW 1

Upload: others

Post on 29-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

RESTful xWEBIntroducing REST ServicesTech TOMORROW

1

Page 2: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

SAY HELLO TOOUR TEAMMeet your amazing team!

Senior Developer - AvectraDevin Dasbach

Product Manager - AvectraEric Shank

Director, R&D - AvectraDaniel Smith

www.Avectra.com

#AUDC132

Page 3: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• REST Overview

• REST Services in xWeb

• Consuming RESTful xWeb (POSTMAN Demo)

• Demo Application Development

• Questions…

RESTful xWeb

3

Page 4: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Maps to the HTTP Verbs

– POST (CREATE)

– GET (READ)

– PUT (UPDATE)

– DELETE (DELETE)

• URL represents a resource

– http://somedomain.com/api/resource/id

– http://mysite.com/api/user/1

REST Overview

4

Page 5: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• GET

– Retrieving a single resource:

• http://mysite.com/api/user/1

– Retrieving a list of resources:

• http://mysite.com/api/user

• xWeb will also return a pagination block at the end of a list to help you page through long lists

REST Overview

5

Page 6: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• POST vs. PUT

– POST creates a new object

• http://mysite.com/api/user <- creates a new user

• Request body is all of the required fields for a new object

– PUT updates existing object

• http://mysite.com/api/user/1 <- updates user 1

• Request body is only the fields that you want to update.

REST Overview

6

Page 7: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• DELETE

– DELETE soft deletes existing object

• http://mysite.com/api/user/1 <- soft deletes user 1

• Coming in future build

REST Overview

7

Page 8: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Currently available

– GET, PUT, POST

– Schemas

– Filtering

– Basic relationships

– Output formats: XML and JSON

• Future availability

– DELETE

– Advanced relationships (PUT and POST to resources)

– Etc…

RESTful xWeb

8

Page 9: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Base URL Structure

– http://netforumsite.com/xweb/rest

• Resources are grouped by module

– co/individual

– co/organization

– ev/event

• Special setup collection of resources

– setup/address_type

RESTful xWeb

9

Page 10: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• SESSION (Authenticate)

– Get a token by POSTING to /SESSION

– http://netforuminstall.com/xweb/rest/session

– Include• Headers

• Authorization: HTTP Basic Auth with xWeb User and Password

• Accepts: What format you want back – ‘application/json’

– Returns:{

"access_token": "7463f512-4f94-47a3-b3a1-9102cc001986",

"token_type": "Bearer"

}

RESTful xWeb

10

Page 11: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Requests

– Add Authorization header with Bearer token contents from SESSION POST.

– Example:• Authorization: Bearer 7463f512-4f94-47a3-b3a1-9102cc001986

• Note the “space” between Bearer and access token

– Other headers

• Accepts – the response format you want

• Content-Type – the format your request body is in

RESTful xWeb

11

Page 12: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Filtering (OData) /resource?filter=• http://netforuminstall.com/xweb/rest/co/individual?filter=first_name eq

'Daniel' or last_name eq 'Ward'

RESTful xWeb

12

Eq Equal /individual?filter=first_name eq ‘Daniel'

Ne Not equal /individual?filter=first_name ne ‘Daniel'

Gt Greater than /individual?filter=age gt 30

GeGreater than or equal

/individual?filter=age ge 30

Lt Less than /individual?filter=age lt 30

LeLess than or equal

/individual?filter=age le 30

And Logical and /individual?filter=first_name eq ‘Daniel’ and last_name eq ‘Smith’

Or Logical or /individual?filter=first_name eq ‘Daniel’ or last_name eq ‘Smith’

Page 13: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Schemas – what’s available

• Only in XML

• See all resources available

– /xweb/rest/

• Specific Resource Structure

– /xweb/rest/schema/{prefix}/{resource}

RESTful xWeb

13

Page 14: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• Tools

– POSTMAN (Chrome Extension)

– REST Object Mapper

• (we’ll use RestKit for iOS in our examples)

RESTful xWeb

14

Page 15: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

• POSTMAN Examples

• iOS Directory Example App on iPhone

DEMO

15

Page 16: RESTful xWEB Introducing REST Services Tech TOMORROWkb.abila.com › sites › kb › files › audc2013-_restful_xweb.pdf #AUDC13 SAY HELLO TO OUR TEAM Meet your amazing team! Senior

www.Avectra.com

#AUDC13

THANK YOU

#AUDC1316