SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Lesson 6:
Accessing	
  REST	
  and	
  Backend	
  as	
  a	
  
Service	
  (BaaS)	
  Cloud	
  Services	
  
Jim	
  McKeeth	
  
Lead	
  Developer	
  Evangelist	
  –	
  Embarcadero	
  
jim.mckeeth@embarcadero.com	
  
http://delphi.org/	
  
Mobile	
  App	
  Development	
  
▪  Lesson	
  1	
  –	
  Hello	
  World!	
  My	
  First	
  Multi-­‐Device	
  App	
  
▪  Lesson	
  2	
  –	
  Turning	
  up	
  the	
  Style	
  and	
  Data!	
  
▪  Lesson	
  3	
  –	
  Accessing	
  Local	
  Storage	
  and	
  Databases	
  
▪  Lesson	
  4	
  –	
  Building	
  Multi-­‐tier,	
  Multi-­‐device	
  Apps	
  using	
  DataSnap	
  REST/JSON	
  
▪  Lesson	
  5	
  –	
  Connecting	
  Mobile	
  and	
  Desktop	
  using	
  App	
  Tethering	
  
▪  Lesson	
  6	
  –	
  Accessing	
  REST	
  and	
  BaaS	
  Cloud	
  Services	
  
Replay	
  links	
  and	
  lesson	
  slides	
  will	
  appear	
  on	
  David’s	
  blog	
  
http://blogs.embarcadero.com/davidi/	
  
Lesson	
  6	
  Agenda	
  
▪  REST	
  Client	
  Library	
  
▪  REST	
  Debugger	
  
▪  Backend	
  as	
  a	
  Service	
  (BaaS)	
  
▪  Samples	
  and	
  Snippets	
  
▪  Continue	
  development	
  of	
  the	
  mobile	
  business	
  app	
  
▪  Review,	
  Homework	
  and	
  Next	
  Time	
  
▪  Q&A	
  
REST	
  Client	
  Library	
  
▪  Framework	
  for	
  accessing	
  REST-­‐based	
  web	
  services	
  
▪  The	
  framework	
  focuses	
  on	
  JSON	
  as	
  the	
  representation	
  format.	
  XML	
  is	
  not	
  
explicitly	
  supported.	
  
▪  The	
  framework	
  includes	
  components	
  and	
  is	
  built	
  around	
  3	
  main	
  components:	
  
–  The	
  client	
  -­‐	
  TRESTClient	
  
–  The	
  request	
  -­‐	
  TRESTRequest	
  
–  The	
  response	
  –	
  TRESTResponse	
  
▪  Most	
  REST	
  services	
  require	
  authentication.	
  Components	
  are	
  provided	
  for	
  
–  Simple	
  authentication	
  –	
  TSimpleAuthenticator	
  
–  HTTP	
  basic	
  authentication	
  –	
  THTTPBasicAuthenticator	
  
–  OAuth1	
  and	
  OAuth2	
  authentication	
  –	
  TOAuth1Authenticator	
  and	
  TOAuth2Authenticator	
  
REST	
  Client	
  Library	
  Components	
  
▪  TRESTClient	
  -­‐	
  manages	
  the	
  HTTP	
  connection	
  to	
  the	
  service,	
  deals	
  with	
  HTTP	
  
headers	
  and	
  proxy	
  servers,	
  and	
  receives	
  the	
  response	
  data.	
  
▪  TRESTRequest	
  -­‐	
  holds	
  all	
  parameters	
  and	
  settings	
  that	
  form	
  the	
  actual	
  HTTP	
  
request	
  to	
  a	
  Web	
  service.	
  When	
  connected	
  to	
  a	
  client-­‐component,	
  it	
  can	
  be	
  
executed	
  (even	
  at	
  design	
  time).	
  
▪  TRESTResponse	
  -­‐	
  holds	
  all	
  the	
  returned	
  data	
  from	
  a	
  Web	
  service.	
  The	
  returned	
  
data	
  includes	
  the	
  HTTP	
  status	
  code,	
  error	
  messages	
  (if	
  any	
  exist),	
  and	
  the	
  returned	
  
JSON	
  data.	
  
▪  TRESTResponseDataSetAdapter	
  –	
  takes	
  the	
  returned	
  JSON	
  data	
  and	
  converts	
  it	
  
to	
  a	
  form	
  a	
  DataSet	
  can	
  use	
  –	
  for	
  example	
  TDataSet	
  and	
  TFDMemTable.	
  
▪  Authenticator(s)	
  -­‐	
  most	
  services	
  require	
  an	
  authentication	
  before	
  they	
  can	
  be	
  used.	
  
The	
  authenticator	
  components	
  are	
  used	
  to	
  apply	
  the	
  specific	
  authentication	
  
methods	
  that	
  are	
  required	
  by	
  the	
  REST	
  service.	
  An	
  authenticator	
  is	
  attached	
  to	
  the	
  
client	
  and	
  is	
  automatically	
  executed	
  on	
  each	
  executed	
  request.	
  You	
  can	
  create	
  
custom	
  authenticators	
  using	
  the	
  TCustomAuthenticator	
  class.	
  
REST	
  Debugger	
  
▪  Included	
  on	
  the	
  Tools	
  Menu	
  
▪  Use	
  it	
  to	
  making	
  queries	
  to	
  test	
  and	
  
debug	
  REST	
  queries	
  before	
  applying	
  them	
  
to	
  your	
  own	
  REST	
  applications.	
  
▪  The	
  interface	
  has	
  four	
  pages	
  that	
  contain	
  
the	
  main	
  request	
  information,	
  
the	
  resource	
  and	
  the	
  parameters	
  request,	
  
the	
  authentication	
  methods,	
  and	
  the	
  
option	
  to	
  use	
  proxy	
  to	
  connect	
  to	
  the	
  
server.	
  
Cloud	
  Service	
  (BaaS)	
  Integration	
  
▪  Use	
  push	
  notifications	
  to	
  engage	
  your	
  users	
  
▪  Access	
  data	
  and	
  object	
  storage	
  in	
  the	
  cloud	
  
▪  Provide	
  user	
  authentication	
  
▪  Supports	
  popular	
  BaaS	
  providers	
  with	
  a	
  
common	
  API	
  component	
  set	
  
–  Parse	
  
–  Kinvey	
  
–  Additional	
  providers	
  to	
  appear	
  in	
  the	
  future	
  	
  
▪  App42	
  has	
  a	
  provider	
  now	
  
https://github.com/shephertz/App42-­‐AppMethod-­‐API	
  	
  
BaaS	
  =	
  Backend	
  as	
  a	
  Service	
  
▪  Most	
  mobile	
  apps	
  need	
  server	
  storage	
  for	
  data,	
  images,	
  files,	
  etc	
  
–  Build	
  yourself	
  (with	
  DataSnap)	
  
–  Buy	
  a	
  scalable	
  cloud	
  solution	
  (with	
  Cloud	
  or	
  BaaS	
  services)	
  
▪  BaaS	
  =	
  cloud	
  solution	
  with	
  mobile	
  users	
  management	
  
–  Services	
  also	
  provide	
  analytics,	
  push	
  notifications	
  (cross	
  platform	
  and	
  more)	
  
▪  REST	
  BAAS	
  framework	
  offers	
  you	
  a	
  variety	
  of	
  actions:	
  
–  Create,	
  retrieve,	
  update	
  and	
  delete	
  objects	
  
–  Sign	
  up,	
  login,	
  retrieve,	
  update	
  and	
  delete	
  users	
  
–  Upload,	
  download	
  and	
  delete	
  files	
  or	
  streams	
  
–  Query	
  objects	
  and	
  users	
  
–  Send	
  push	
  notifications	
  
–  Register	
  for	
  and	
  receive	
  push	
  notifications	
  on	
  a	
  device	
  
Backend-­‐as-­‐a-­‐Service	
  Client	
  Components	
  
▪  Based	
  on	
  REST	
  Client	
  architecture	
  that	
  
was	
  introduced	
  in	
  XE5	
  
▪  BaaS	
  clients	
  for	
  Kinvey	
  and	
  Parse	
  
–  Native	
  providers	
  to	
  use	
  services	
  directly	
  
–  Providers	
  integration	
  with	
  framework	
  for	
  
common	
  services	
  
–  Framework	
  works	
  with	
  these	
  providers,	
  
open	
  for	
  future	
  extensions	
  
▪  Providers	
  to	
  connect	
  to	
  Parse	
  and	
  Kinvey	
  
service	
  
–  TParseProvider	
  
–  TKinveyProvider	
  
–  TCustomProvider	
  –	
  to	
  implement	
  your	
  own	
  
integration	
  
	
  
▪  Push	
  Notifications	
  
–  TPushEvents	
  –	
  to	
  register	
  your	
  device/app	
  
to	
  receive	
  notifications	
  
–  TBackendPush	
  –	
  allows	
  an	
  app	
  (desktop	
  or	
  
mobile)	
  to	
  push	
  a	
  notification	
  to	
  the	
  
provider	
  service	
  that	
  passes	
  it	
  along	
  to	
  
registered	
  devices	
  
▪  Storage	
  
–  TBackendStorage	
  
–  TBackendQuery	
  
–  TBackendFiles	
  
▪  User	
  Management	
  
–  TBackendUsers	
  
	
  
Backend-­‐as-­‐a-­‐Service	
  Model	
  
▪  Supports	
  abstract	
  features,	
  provider	
  independent	
  
–  Create,	
  retrieve,	
  update	
  and	
  delete	
  (JSON)	
  objects	
  
–  Signup,	
  login,	
  retrieve,	
  update	
  and	
  delete	
  users	
  
–  Upload,	
  download	
  and	
  delete	
  files	
  or	
  streams	
  
–  Query	
  objects	
  and	
  users	
  
–  Send	
  push	
  notifications	
  
–  Register	
  for	
  and	
  receive	
  push	
  notifications	
  on	
  a	
  device	
  
Push	
  Notifications	
  Scenarios	
  
▪  Send	
  reminders	
  to	
  mobile	
  apps	
  even	
  when	
  not	
  active	
  
–  App	
  to	
  app	
  notifications	
  (via	
  push	
  server)	
  
–  Server	
  to	
  app	
  notifications	
  (triggered	
  by	
  server	
  events)	
  
–  Client	
  notifications	
  (for	
  example	
  VCL)	
  to	
  companion	
  app	
  
è
REST	
  and	
  BaaS	
  Samples	
  
▪  REST	
  and	
  BaaS	
  mobile	
  samples	
  
–  REST	
  –	
  SurfSpotFinder	
  
–  BaaS	
  ToDo	
  List	
  
–  C++	
  
▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesCPPMobile	
  Samples
Cloud	
  
▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/
CPP/Mobile%20Samples/Cloud/	
  
–  Object	
  Pascal	
  
▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesObject	
  PascalMobile	
  
SamplesCloud	
  
▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/
Object%20Pascal/Mobile%20Samples/Cloud/	
  
▪  Always	
  be	
  sure	
  to	
  update	
  your	
  local	
  samples	
  from	
  Sourceforge!	
  
REST	
  and	
  BaaS	
  Demos	
  
Next	
  Steps	
  for	
  our	
  Business	
  Mobile	
  App	
  
▪  Use	
  the	
  REST	
  Client	
  Library	
  components	
  to	
  use	
  a	
  REST	
  service	
  (parts	
  lookup)	
  
for	
  the	
  Parts	
  table	
  
▪  Use	
  BaaS	
  to	
  push	
  notifications	
  to	
  the	
  Marine	
  Adventures	
  mobile	
  app	
  to	
  tell	
  
employees	
  that	
  an	
  order	
  has	
  shipped,	
  part	
  is	
  backordered	
  and	
  inventory	
  is	
  
getting	
  low.	
  
Lesson	
  6	
  Review	
  
▪  Quickly	
  use	
  REST	
  Services	
  using	
  REST/JSON	
  and	
  the	
  REST	
  client	
  library	
  
components	
  
▪  Extend	
  your	
  mobile	
  and	
  desktop	
  applications	
  into	
  the	
  Cloud	
  using	
  Backend	
  as	
  a	
  
Service	
  
Resources	
  (1	
  of	
  4)	
  
▪  REST	
  Client	
  Library	
  -­‐	
  Docwiki	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/REST_Client_Library	
  
–  http://docwiki.embarcadero.com/RADStudio/XE6/en/REST_Debugger	
  
–  http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_the_REST_Debugger	
  
–  http://docwiki.appmethod.com/appmethod/1.14/codeexamples/en/RESTDemo_Sample	
  
▪  Tutorial	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Tutorial:_Using_the_REST_Client_Library_to_Access_REST-­‐based_Web_Services	
  
	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Resources	
  (2	
  of	
  4)	
  
▪  BaaS	
  –	
  DocWiki	
  
–  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/REST.Backend	
  
–  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/
REST.Backend.ServiceComponents	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/Creating_the_Application	
  
▪  Tutorials	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Resources	
  (3	
  of	
  4)	
  
▪  Videos	
  on	
  Demand	
  
–  David	
  I	
  “BaaS	
  webinar”	
  replay	
  
▪  http://www.embarcadero.com/landing-­‐pages/rad-­‐in-­‐action-­‐baas	
  
–  Sarina	
  Dupont	
  “Managing	
  User	
  Accounts	
  and	
  Storage	
  with	
  BaaS”	
  skill	
  sprint	
  replay	
  
▪  https://www.youtube.com/watch?v=Ct13YWSRP04	
  
–  David	
  I	
  “BackendPush	
  skill	
  sprint”	
  replay	
  
▪  https://www.youtube.com/watch?v=N2_KA3LEWYw	
  
–  Jim	
  McKeeth	
  “Integrate	
  Cloud	
  Services	
  with	
  the	
  REST/JSON	
  Client	
  skill	
  sprint”	
  replay	
  
▪  https://www.youtube.com/watch?v=sp-­‐EDTKy2BU	
  
–  Stephen	
  Ball	
  on	
  Object	
  Persistence	
  
▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/	
  	
  
▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐
and-­‐using-­‐resources/	
  	
  
Resources	
  (4	
  of	
  4)	
  
▪  Sites	
  
–  Oauth	
  Community	
  Site	
  -­‐	
  http://oauth.net/	
  
–  Parse.com	
  -­‐	
  https://parse.com/	
  
–  Kinvey.com	
  -­‐	
  http://www.kinvey.com/	
  	
  
▪  Blogs	
  
–  http://blogs.embarcadero.com/	
  
–  David	
  I	
  blog	
  –	
  “Finding	
  your	
  Tethered	
  Apps”	
  	
  
▪  http://blogs.embarcadero.com/davidi/2014/04/28/43708	
  
–  Sarina	
  Dupont	
  blog	
  –	
  Series	
  of	
  10	
  BaaS	
  tutorials	
  
▪  http://blogs.embarcadero.com/sarinadupont/2014/06/09/baas-­‐tutorials-­‐to-­‐help-­‐you-­‐get-­‐started-­‐quickly/	
  
▪  Or	
  http://embt.co/baastutorials	
  	
  
–  Stephen	
  Ball	
  on	
  Object	
  Persistence	
  
▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/	
  	
  
▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐
and-­‐using-­‐resources/	
  	
  
Homework	
  &	
  More	
  to	
  Explore	
  
▪  Read	
  the	
  DocWiki	
  articles	
  and	
  blog	
  posts	
  for	
  REST	
  Client	
  Library	
  and	
  BaaS	
  
▪  Watch	
  the	
  videos	
  
▪  Go	
  through	
  the	
  Mobile	
  Snippets	
  and	
  Samples	
  for	
  additional	
  demos	
  
▪  Try	
  some	
  of	
  the	
  Mobile	
  Tutorials	
  
–  Download	
  the	
  PDF	
  ebook	
  at	
  
http://docs.embarcadero.com/products/rad_studio/radstudioXE6/
Mobile_Tutorials_en.pdf	
  
–  The	
  individual	
  mobile	
  tutorials	
  are	
  listed	
  at	
  
http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android)	
  
▪  Enhance	
  the	
  Marine	
  Adventure	
  mobile	
  app	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Q&A	
  
Thank	
  You	
  J	
  
jim.mckeeth@embarcadero.com	
  
http://delphi.org/	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
sumedha.r
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
webhostingguy
 
APACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUXAPACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUX
webhostingguy
 

Was ist angesagt? (20)

Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
Alfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture OverviewAlfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture Overview
 
gofortution
gofortutiongofortution
gofortution
 
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
 
LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!
 
Useful Rails Plugins
Useful Rails PluginsUseful Rails Plugins
Useful Rails Plugins
 
Application server
Application serverApplication server
Application server
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
Web Server And Database Server
Web Server And Database ServerWeb Server And Database Server
Web Server And Database Server
 
Benefits of Hypermedia API
Benefits of Hypermedia APIBenefits of Hypermedia API
Benefits of Hypermedia API
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
APACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUXAPACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUX
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
The World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePointThe World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePoint
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel Pattern
 

Andere mochten auch

RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
GWAVA
 
Klein mannetje heeft geen huis
Klein mannetje heeft geen huisKlein mannetje heeft geen huis
Klein mannetje heeft geen huis
groep12pius10
 
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Spyros Gkanatsios
 
Web conferencing
Web conferencingWeb conferencing
Web conferencing
mazyooonah
 

Andere mochten auch (20)

RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
The Rise of BaaS
The Rise of BaaSThe Rise of BaaS
The Rise of BaaS
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographic
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app development
 
Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry
 
concrete5.7のご紹介
concrete5.7のご紹介concrete5.7のご紹介
concrete5.7のご紹介
 
Presentacion tic 2
Presentacion tic 2Presentacion tic 2
Presentacion tic 2
 
Klein mannetje heeft geen huis
Klein mannetje heeft geen huisKlein mannetje heeft geen huis
Klein mannetje heeft geen huis
 
Quality limited
Quality limitedQuality limited
Quality limited
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
Материалы выступления В. Демина
Материалы выступления В. Демина Материалы выступления В. Демина
Материалы выступления В. Демина
 
Uu no 59_1958
Uu no 59_1958Uu no 59_1958
Uu no 59_1958
 
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
 
Web conferencing
Web conferencingWeb conferencing
Web conferencing
 

Ähnlich wie Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6

Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
nascomgenk
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
WSO2
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
Rahul Singh
 

Ähnlich wie Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6 (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Fs And Self Service
Fs And Self ServiceFs And Self Service
Fs And Self Service
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Opal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsOpal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific Applications
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless World
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014
 

Mehr von Jim McKeeth

Mehr von Jim McKeeth (15)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to Mobile
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Creating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleCreating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 Seattle
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled Drone
 
Deep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryDeep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming Library
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprint
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer Interface
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with Java
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badge
 

Kürzlich hochgeladen

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Kürzlich hochgeladen (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 

Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6

  • 1. Lesson 6: Accessing  REST  and  Backend  as  a   Service  (BaaS)  Cloud  Services   Jim  McKeeth   Lead  Developer  Evangelist  –  Embarcadero   jim.mckeeth@embarcadero.com   http://delphi.org/  
  • 2. Mobile  App  Development   ▪  Lesson  1  –  Hello  World!  My  First  Multi-­‐Device  App   ▪  Lesson  2  –  Turning  up  the  Style  and  Data!   ▪  Lesson  3  –  Accessing  Local  Storage  and  Databases   ▪  Lesson  4  –  Building  Multi-­‐tier,  Multi-­‐device  Apps  using  DataSnap  REST/JSON   ▪  Lesson  5  –  Connecting  Mobile  and  Desktop  using  App  Tethering   ▪  Lesson  6  –  Accessing  REST  and  BaaS  Cloud  Services   Replay  links  and  lesson  slides  will  appear  on  David’s  blog   http://blogs.embarcadero.com/davidi/  
  • 3. Lesson  6  Agenda   ▪  REST  Client  Library   ▪  REST  Debugger   ▪  Backend  as  a  Service  (BaaS)   ▪  Samples  and  Snippets   ▪  Continue  development  of  the  mobile  business  app   ▪  Review,  Homework  and  Next  Time   ▪  Q&A  
  • 4. REST  Client  Library   ▪  Framework  for  accessing  REST-­‐based  web  services   ▪  The  framework  focuses  on  JSON  as  the  representation  format.  XML  is  not   explicitly  supported.   ▪  The  framework  includes  components  and  is  built  around  3  main  components:   –  The  client  -­‐  TRESTClient   –  The  request  -­‐  TRESTRequest   –  The  response  –  TRESTResponse   ▪  Most  REST  services  require  authentication.  Components  are  provided  for   –  Simple  authentication  –  TSimpleAuthenticator   –  HTTP  basic  authentication  –  THTTPBasicAuthenticator   –  OAuth1  and  OAuth2  authentication  –  TOAuth1Authenticator  and  TOAuth2Authenticator  
  • 5. REST  Client  Library  Components   ▪  TRESTClient  -­‐  manages  the  HTTP  connection  to  the  service,  deals  with  HTTP   headers  and  proxy  servers,  and  receives  the  response  data.   ▪  TRESTRequest  -­‐  holds  all  parameters  and  settings  that  form  the  actual  HTTP   request  to  a  Web  service.  When  connected  to  a  client-­‐component,  it  can  be   executed  (even  at  design  time).   ▪  TRESTResponse  -­‐  holds  all  the  returned  data  from  a  Web  service.  The  returned   data  includes  the  HTTP  status  code,  error  messages  (if  any  exist),  and  the  returned   JSON  data.   ▪  TRESTResponseDataSetAdapter  –  takes  the  returned  JSON  data  and  converts  it   to  a  form  a  DataSet  can  use  –  for  example  TDataSet  and  TFDMemTable.   ▪  Authenticator(s)  -­‐  most  services  require  an  authentication  before  they  can  be  used.   The  authenticator  components  are  used  to  apply  the  specific  authentication   methods  that  are  required  by  the  REST  service.  An  authenticator  is  attached  to  the   client  and  is  automatically  executed  on  each  executed  request.  You  can  create   custom  authenticators  using  the  TCustomAuthenticator  class.  
  • 6. REST  Debugger   ▪  Included  on  the  Tools  Menu   ▪  Use  it  to  making  queries  to  test  and   debug  REST  queries  before  applying  them   to  your  own  REST  applications.   ▪  The  interface  has  four  pages  that  contain   the  main  request  information,   the  resource  and  the  parameters  request,   the  authentication  methods,  and  the   option  to  use  proxy  to  connect  to  the   server.  
  • 7. Cloud  Service  (BaaS)  Integration   ▪  Use  push  notifications  to  engage  your  users   ▪  Access  data  and  object  storage  in  the  cloud   ▪  Provide  user  authentication   ▪  Supports  popular  BaaS  providers  with  a   common  API  component  set   –  Parse   –  Kinvey   –  Additional  providers  to  appear  in  the  future     ▪  App42  has  a  provider  now   https://github.com/shephertz/App42-­‐AppMethod-­‐API    
  • 8. BaaS  =  Backend  as  a  Service   ▪  Most  mobile  apps  need  server  storage  for  data,  images,  files,  etc   –  Build  yourself  (with  DataSnap)   –  Buy  a  scalable  cloud  solution  (with  Cloud  or  BaaS  services)   ▪  BaaS  =  cloud  solution  with  mobile  users  management   –  Services  also  provide  analytics,  push  notifications  (cross  platform  and  more)   ▪  REST  BAAS  framework  offers  you  a  variety  of  actions:   –  Create,  retrieve,  update  and  delete  objects   –  Sign  up,  login,  retrieve,  update  and  delete  users   –  Upload,  download  and  delete  files  or  streams   –  Query  objects  and  users   –  Send  push  notifications   –  Register  for  and  receive  push  notifications  on  a  device  
  • 9. Backend-­‐as-­‐a-­‐Service  Client  Components   ▪  Based  on  REST  Client  architecture  that   was  introduced  in  XE5   ▪  BaaS  clients  for  Kinvey  and  Parse   –  Native  providers  to  use  services  directly   –  Providers  integration  with  framework  for   common  services   –  Framework  works  with  these  providers,   open  for  future  extensions   ▪  Providers  to  connect  to  Parse  and  Kinvey   service   –  TParseProvider   –  TKinveyProvider   –  TCustomProvider  –  to  implement  your  own   integration     ▪  Push  Notifications   –  TPushEvents  –  to  register  your  device/app   to  receive  notifications   –  TBackendPush  –  allows  an  app  (desktop  or   mobile)  to  push  a  notification  to  the   provider  service  that  passes  it  along  to   registered  devices   ▪  Storage   –  TBackendStorage   –  TBackendQuery   –  TBackendFiles   ▪  User  Management   –  TBackendUsers    
  • 10. Backend-­‐as-­‐a-­‐Service  Model   ▪  Supports  abstract  features,  provider  independent   –  Create,  retrieve,  update  and  delete  (JSON)  objects   –  Signup,  login,  retrieve,  update  and  delete  users   –  Upload,  download  and  delete  files  or  streams   –  Query  objects  and  users   –  Send  push  notifications   –  Register  for  and  receive  push  notifications  on  a  device  
  • 11. Push  Notifications  Scenarios   ▪  Send  reminders  to  mobile  apps  even  when  not  active   –  App  to  app  notifications  (via  push  server)   –  Server  to  app  notifications  (triggered  by  server  events)   –  Client  notifications  (for  example  VCL)  to  companion  app   è
  • 12. REST  and  BaaS  Samples   ▪  REST  and  BaaS  mobile  samples   –  REST  –  SurfSpotFinder   –  BaaS  ToDo  List   –  C++   ▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesCPPMobile  Samples Cloud   ▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/ CPP/Mobile%20Samples/Cloud/   –  Object  Pascal   ▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesObject  PascalMobile   SamplesCloud   ▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/ Object%20Pascal/Mobile%20Samples/Cloud/   ▪  Always  be  sure  to  update  your  local  samples  from  Sourceforge!  
  • 13. REST  and  BaaS  Demos  
  • 14. Next  Steps  for  our  Business  Mobile  App   ▪  Use  the  REST  Client  Library  components  to  use  a  REST  service  (parts  lookup)   for  the  Parts  table   ▪  Use  BaaS  to  push  notifications  to  the  Marine  Adventures  mobile  app  to  tell   employees  that  an  order  has  shipped,  part  is  backordered  and  inventory  is   getting  low.  
  • 15. Lesson  6  Review   ▪  Quickly  use  REST  Services  using  REST/JSON  and  the  REST  client  library   components   ▪  Extend  your  mobile  and  desktop  applications  into  the  Cloud  using  Backend  as  a   Service  
  • 16. Resources  (1  of  4)   ▪  REST  Client  Library  -­‐  Docwiki   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/REST_Client_Library   –  http://docwiki.embarcadero.com/RADStudio/XE6/en/REST_Debugger   –  http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_the_REST_Debugger   –  http://docwiki.appmethod.com/appmethod/1.14/codeexamples/en/RESTDemo_Sample   ▪  Tutorial   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Tutorial:_Using_the_REST_Client_Library_to_Access_REST-­‐based_Web_Services     Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 17. Resources  (2  of  4)   ▪  BaaS  –  DocWiki   –  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/REST.Backend   –  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/ REST.Backend.ServiceComponents   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/Creating_the_Application   ▪  Tutorials   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)   Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 18. Resources  (3  of  4)   ▪  Videos  on  Demand   –  David  I  “BaaS  webinar”  replay   ▪  http://www.embarcadero.com/landing-­‐pages/rad-­‐in-­‐action-­‐baas   –  Sarina  Dupont  “Managing  User  Accounts  and  Storage  with  BaaS”  skill  sprint  replay   ▪  https://www.youtube.com/watch?v=Ct13YWSRP04   –  David  I  “BackendPush  skill  sprint”  replay   ▪  https://www.youtube.com/watch?v=N2_KA3LEWYw   –  Jim  McKeeth  “Integrate  Cloud  Services  with  the  REST/JSON  Client  skill  sprint”  replay   ▪  https://www.youtube.com/watch?v=sp-­‐EDTKy2BU   –  Stephen  Ball  on  Object  Persistence   ▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/     ▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐ and-­‐using-­‐resources/    
  • 19. Resources  (4  of  4)   ▪  Sites   –  Oauth  Community  Site  -­‐  http://oauth.net/   –  Parse.com  -­‐  https://parse.com/   –  Kinvey.com  -­‐  http://www.kinvey.com/     ▪  Blogs   –  http://blogs.embarcadero.com/   –  David  I  blog  –  “Finding  your  Tethered  Apps”     ▪  http://blogs.embarcadero.com/davidi/2014/04/28/43708   –  Sarina  Dupont  blog  –  Series  of  10  BaaS  tutorials   ▪  http://blogs.embarcadero.com/sarinadupont/2014/06/09/baas-­‐tutorials-­‐to-­‐help-­‐you-­‐get-­‐started-­‐quickly/   ▪  Or  http://embt.co/baastutorials     –  Stephen  Ball  on  Object  Persistence   ▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/     ▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐ and-­‐using-­‐resources/    
  • 20. Homework  &  More  to  Explore   ▪  Read  the  DocWiki  articles  and  blog  posts  for  REST  Client  Library  and  BaaS   ▪  Watch  the  videos   ▪  Go  through  the  Mobile  Snippets  and  Samples  for  additional  demos   ▪  Try  some  of  the  Mobile  Tutorials   –  Download  the  PDF  ebook  at   http://docs.embarcadero.com/products/rad_studio/radstudioXE6/ Mobile_Tutorials_en.pdf   –  The  individual  mobile  tutorials  are  listed  at   http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android)   ▪  Enhance  the  Marine  Adventure  mobile  app   Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 22. Thank  You  J   jim.mckeeth@embarcadero.com   http://delphi.org/